nginx
リクエストを処理するためのセットアップを試みていphp
ます。このリンクは言う:
このガイドは、php.ini cgi.fix_pathinfo = 1 (デフォルト) で正常に実行されます。cgi.fix_pathinfo = 0 に変更することを主張するガイドもありますが、そうすると PHP_SELF 変数が壊れます (DOCUMENT_URI と等しくありません)。
ただし、これはそのような警告を発しません。
php.ini で cgi.fix_pathinfo=0 を設定します。これにより、PHP インタープリターは指定されたリテラル パスのみを試行し、ファイルが見つからない場合は処理を停止します。
php
ドキュメントから判断する:
これを 1 に設定すると、PHP CGI はそのパスを仕様に準拠するように修正します。ゼロを設定すると、PHP は以前と同じように動作します。デフォルトではオンになっています。PATH_TRANSLATED ではなく SCRIPT_FILENAME を使用するようにスクリプトを修正する必要があります。
デフォルト値のままにしておく方がよいでしょう。
では、まず壊れたPHP_SELF
変数を再現するにはどうすればよいでしょうか。じゃあどっち?0に設定cgi.fix_pathinfo
するのは良い考えですか?または、他のソリューションを選択する必要がありますか?