It's again not stated clearly in the documentation, that you should use --enable-discard-path ONLY IF you plan to use the PHP CGI outside the web tree as stated here.
If you want to use PHP as a regular CGI processor (via Action & AddHandler in the Apache config file), you shouldn't use this option because, if compiled with this, the PHP binary won't recognize the path to the actual script and will in any case try to send itself to the browser as the script output (!).
ケース 4: Webツリーの外にPHPパーサを置く
非常に安全性の高いオプションとしてPHP パーサのバイナリをファイル 用 Web ツリーの外側、例えば /usr/local/binに置くことが考えられます。こ のオプションの唯一の欠点は、PHP タグを有する全てのファイルの先頭 行に次のような一行を加える必要があることです。
#!/usr/local/bin/php
また、ファイルを実行可能にしておく必要があります。この場合、実行 時にシェルエスケープ機能 #! を使用する Perl や sh や他のスクリプト言語で書かれた CGI スクリプトを処理するのと全 く同様に処理を行います。
この設定で PATH_INFO および PATH_TRANSLATED 情報を正しく処理するためには、 PHP パーサを設定オプション --enable-discard-path を付けてコンパイルする必要があります。
ケース 4: Webツリーの外にPHPパーサを置く
raj at ap dot krakow dot pl
09-Feb-2008 08:02
09-Feb-2008 08:02
Andras Rokob <rokoba at bolyai dot elte dot hu>
18-Oct-2006 09:59
18-Oct-2006 09:59
You can avoid the need of using the shell-escaping (#! ...) in all your php scripts if you set the executable bit on them and exploit the binfmt_misc support of the Linux kernels.
