我尝试设置nginx
来处理php
次请求。 This link说:
本指南适用于php.ini cgi.fix_pathinfo = 1(默认值)。一些指南坚持将其更改为cgi.fix_pathinfo = 0,但这样做会使PHP_SELF变量被破坏(不等于DOCUMENT_URI)。
但是,this one并未发出此类警告:
在php.ini中设置cgi.fix_pathinfo = 0。这会导致PHP解释器只尝试给定的文字路径,并在找不到文件时停止处理。
从php
docs来判断:
将此设置为1将导致PHP CGI修复其路径以符合规范。设置为零会导致PHP像以前一样运行。它默认打开。您应该修复脚本以使用SCRIPT_FILENAME而不是PATH_TRANSLATED。
最好坚持使用默认值。
那么,首先如何重现已损坏的PHP_SELF
变量?然后,这是什么?将cgi.fix_pathinfo
设置为0是一个好主意吗?或者我应该选择其他解决方案?