Server Information

The $_SERVER array contains a lot of useful information from the web server. Much of this information comes from the environment variables required in the CGI specification.

Here is a complete list of the entries in $_SERVER that come from CGI:

PHP_SELF

The name of the current script, relative to the document root (e.g., /store/cart.php). You should already have noted seeing this used in some of the sample code in earlier chapters. This variable is useful when creating self-referencing scripts, as we’ll see later.

SERVER_SOFTWARE

A string that identifies the server (e.g., “Apache/1.3.33 (Unix) mod_perl/1.26 PHP/5.0.4”).

SERVER_NAME

The hostname, DNS alias, or IP address for self-referencing URLs (e.g., www.example.com).

GATEWAY_INTERFACE

The version of the CGI standard being followed (e.g., “CGI/1.1”).

SERVER_PROTOCOL

The name and revision of the request protocol (e.g., “HTTP/1.1”).

SERVER_PORT

The server port number to which the request was sent (e.g., “80”).

REQUEST_METHOD

The method the client used to fetch the document (e.g., “GET”).

PATH_INFO

Extra path elements given by the client (e.g., /list/users).

PATH_TRANSLATED

The value of PATH_INFO, translated by the server into a filename (e.g., /home/httpd/htdocs/list/users).

SCRIPT_NAME

The URL path to the current page, which is useful for self-referencing scripts (e.g., /~me/menu.php).

QUERY_STRING

Everything after the ? in the URL (e.g., name=Fred+age=35).

REMOTE_HOST

The hostname of the machine that requested this page (e.g., “dialup-192-168-0-1.example.com ...

Get Programming PHP, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.