<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>CGI and command line setups</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="install.unix.sun.html">Sun, iPlanet and Netscape servers on Sun Solaris</a></div> <div class="next" style="text-align: right; float: right;"><a href="install.unix.hpux.html">HP-UX specific installation notes</a></div> <div class="up"><a href="install.unix.html">Installation on Unix systems</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="install.unix.commandline" class="sect1"> <h2 class="title">CGI and command line setups</h2> <p class="para"> By default, PHP is built as both a <acronym title="Command Line Interpreter/Interface">CLI</acronym> and <acronym title="Common Gateway Interface">CGI</acronym> program, which can be used for CGI processing. If you are running a web server that 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. </p> <div class="warning"><strong class="warning">Warning</strong><p class="para">A server deployed in CGI mode is open to several possible vulnerabilities. Please read our <a href="security.cgi-bin.html" class="link">CGI security section</a> to learn how to defend yourself from such attacks.</p></div> <div class="sect2" id="install.unix.commandline.testing"> <h3 class="title">Testing</h3> <p class="simpara"> If you have built PHP as a CGI program, you may test your build by typing <strong class="command">make test</strong>. 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. </p> </div> <div class="sect2" id="install.unix.commandline.using-variables"> <h3 class="title">Using Variables</h3> <p class="simpara"> Some <a href="reserved.variables.server.html" class="link">server supplied environment variables</a> are not defined in the current <a href="http://www.faqs.org/rfcs/rfc3875" class="link external">» CGI/1.1 specification</a>. Only the following variables are defined there: <var class="varname"><var class="varname">AUTH_TYPE</var></var>, <var class="varname"><var class="varname">CONTENT_LENGTH</var></var>, <var class="varname"><var class="varname">CONTENT_TYPE</var></var>, <var class="varname"><var class="varname">GATEWAY_INTERFACE</var></var>, <var class="varname"><var class="varname">PATH_INFO</var></var>, <var class="varname"><var class="varname">PATH_TRANSLATED</var></var>, <var class="varname"><var class="varname">QUERY_STRING</var></var>, <var class="varname"><var class="varname">REMOTE_ADDR</var></var>, <var class="varname"><var class="varname">REMOTE_HOST</var></var>, <var class="varname"><var class="varname">REMOTE_IDENT</var></var>, <var class="varname"><var class="varname">REMOTE_USER</var></var>, <var class="varname"><var class="varname">REQUEST_METHOD</var></var>, <var class="varname"><var class="varname">SCRIPT_NAME</var></var>, <var class="varname"><var class="varname">SERVER_NAME</var></var>, <var class="varname"><var class="varname">SERVER_PORT</var></var>, <var class="varname"><var class="varname">SERVER_PROTOCOL</var></var>, and <var class="varname"><var class="varname">SERVER_SOFTWARE</var></var>. Everything else should be treated as 'vendor extensions'. </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="install.unix.sun.html">Sun, iPlanet and Netscape servers on Sun Solaris</a></div> <div class="next" style="text-align: right; float: right;"><a href="install.unix.hpux.html">HP-UX specific installation notes</a></div> <div class="up"><a href="install.unix.html">Installation on Unix systems</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>