0

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するのは良い考えですか?または、他のソリューションを選択する必要がありますか?

4

0 に答える 0