CGI およびコマンドライン
デフォルトでは、PHP は CLI および CGI プログラムとしてビルドされます。 これを使って CGI の処理を行うことができます。 PHP 側で対応するモジュールを用意しているウェブサーバーで実行するときには、 モジュールを使うほうがパフォーマンス面で有利です。 しかし、CGI 版にも利点があります。 PHP を含むページを別のユーザー ID で実行することができるということです。
警告 CGI モードで公開したサーバーは、いくつかの脆弱性の標的となる可能性があります。 これらの攻撃からサーバーを守る方法については、 CGI セキュリティ のセクションを参照してください。
テスト
PHP を CGI 版のプログラムとしてビルドした場合、make test とすることで、ビルドされたバイナリをテストすることが 可能です。常にビルド後のテストを行うことが推奨されます。これにより、 使用するプラットホームにおける PHP の問題を早期に見付けることが可能となり、 後になってその問題に苦しむことがなくなるでしょう。
環境変数の使用
いくつかのサーバーが提供する環境変数
は、現在の » CGI/1.1 規約
において定義されていません。以下の変数だけがこの規約で定義されています。
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
, および SERVER_SOFTWARE
。
その他の環境変数は、「ベンダー拡張」として取り扱うべきです。