CGI and command line setups
The default is to build PHP as a CGI program. This creates a
command line interpreter, which can be used for CGI processing, or
for non-web-related PHP scripting. If you are running a web
server PHP has module support for, you should generally go for
that solution for performance reasons. However, the CGI version
enables users to run different PHP-enabled pages under
different user-ids.
WarningA server deployed in CGI mode is open
to several possible vulnerabilities. Please read our
CGI security section to learn how to
defend yourself from such attacks.
As of PHP 4.3.0, some important additions have happened to PHP. A new
SAPI named CLI also exists and it has the same name as the CGI binary.
What is installed at {PREFIX}/bin/php depends on your
configure line and this is described in detail in the manual section
named Using PHP from the command
line. For further details please read that section of the manual.
Testing
If you have built PHP as a CGI program, you may test your build
by typing make test. It is always a good idea
to test your build. This way you may catch a problem with PHP on
your platform early instead of having to struggle with it later.
Using Variables
Some server supplied
environment variables are not defined in the
current » CGI/1.1 specification.
Only the following variables are defined there: AUTH_TYPE,
CONTENT_LENGTH, CONTENT_TYPE,
GATEWAY_INTERFACE, PATH_INFO,
PATH_TRANSLATED, QUERY_STRING,
REMOTE_ADDR, REMOTE_HOST,
REMOTE_IDENT, REMOTE_USER,
REQUEST_METHOD, SCRIPT_NAME,
SERVER_NAME, SERVER_PORT,
SERVER_PROTOCOL, and SERVER_SOFTWARE.
Everything else should be treated as 'vendor extensions'.