我正在尝试设置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 像以前一样运行。默认情况下它是打开的。您应该修复您的脚本以使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED。
最好坚持使用默认值。
那么,首先如何重现损坏的PHP_SELF
变量?那么,到底是哪一个?设置cgi.fix_pathinfo
为 0 是个好主意吗?还是我应该选择其他解决方案?