| 
				 
								  |  |  | 
    | 
    PHP provides a large number of predefined variables to any script
    which it runs. Many of these variables, however, cannot be fully
    documented as they are dependent upon which server is running, the
    version and setup of the server, and other factors. Some of these
    variables will not be available when PHP is run on the 
    command line. 
    For a listing of these variables, please see the section on 
    Reserved Predefined Variables.
    | Warning |  | 
     In PHP 4.2.0 and later, the default value for the PHP directive register_globals is 
     off. This is a major change in PHP.  Having 
     register_globals off affects the set of predefined 
     variables available in the global scope.  For example, to get 
     DOCUMENT_ROOT you'll use 
     $_SERVER['DOCUMENT_ROOT'] instead of 
     $DOCUMENT_ROOT, or $_GET['id'] from 
     the URL http://www.example.com/test.php?id=3 instead 
     of $id, or $_ENV['HOME'] instead of 
     $HOME.
     
     For related information on this change, read the configuration entry for 
     register_globals, the security 
     chapter on Using Register Globals
     , as well as the PHP 4.1.0
      and 4.2.0 Release 
     Announcements.
     
     Using the available PHP Reserved Predefined Variables, like the 
     superglobal arrays, 
     is preferred.
     | 
    From version 4.1.0 onward, PHP provides an additional set of predefined arrays
    containing variables from the web server (if applicable), the
    environment, and user input. These new arrays are rather special
    in that they are automatically global--i.e., automatically
    available in every scope. For this reason, they are often known as
    'autoglobals' or 'superglobals'. (There is no mechanism in PHP for
    user-defined superglobals.) The superglobals are listed below;
    however, for a listing of their contents and further discussion on
    PHP predefined variables and their natures, please see the section
    Reserved Predefined Variables.  
    Also, you'll notice how the older predefined variables 
    ($HTTP_*_VARS) still exist.
    As of PHP 5.0.0, the long PHP 
predefined variable
arrays may be disabled with the 
register_long_arrays
directive.
    Variable variables: 
     Superglobals cannot be used as 
     variable variables
     inside functions or class methods.
    
Note: 
     Even though both the superglobal and HTTP_*_VARS can exist at the same
     time; they are not identical, so modifying one will not change the other.
    
    If certain variables in variables_order are not set, their
    appropriate PHP predefined arrays are also left empty.
    PHP Superglobals $GLOBALS
       Contains a reference to every variable which is currently
       available within the global scope of the script. The keys of
       this array are the names of the global variables.
       $GLOBALS has existed since PHP 3.
      $_SERVER
       Variables set by the web server or otherwise directly related
       to the execution environment of the current script. Analogous
       to the old $HTTP_SERVER_VARS array (which is
       still available, but deprecated).
      $_GET
       Variables provided to the script via URL query string. Analogous to the
       old $HTTP_GET_VARS array (which is still
       available, but deprecated).
      $_POST
       Variables provided to the script via HTTP POST. Analogous to the
       old $HTTP_POST_VARS array (which is still
       available, but deprecated).
      $_COOKIE
       Variables provided to the script via HTTP cookies. Analogous to
       the old $HTTP_COOKIE_VARS array (which is
       still available, but deprecated).
      $_FILES
       Variables provided to the script via HTTP post file
       uploads. Analogous to the old
       $HTTP_POST_FILES array (which is still
       available, but deprecated). See POST method
        uploads for more information.
      $_ENV
       Variables provided to the script via the environment. Analogous
       to the old $HTTP_ENV_VARS array (which is
       still available, but deprecated).
      $_REQUEST
       Variables provided to the script via the GET, POST, and COOKIE input
       mechanisms, and which therefore cannot be trusted. The presence and
       order of variable inclusion in this array is defined according to the
       PHP variables_order
       configuration directive. This array has no direct analogue in versions
       of PHP prior to 4.1.0.  See also 
       import_request_variables().
       | Caution |  | 
        Since PHP 4.3.0, FILE information from $_FILES does
        not exist in $_REQUEST.
        | 
Note: 
        When running on the command line
        , this will not include the 
        argv and argc entries; these are 
        present in the $_SERVER array.
       
$_SESSION
       Variables which are currently registered to a script's
       session. Analogous to the old
       $HTTP_SESSION_VARS array (which is still
       available, but deprecated). See the Session handling functions section
       for more information.
      
 
 
 |  |  |