时间:2021-07-01 10:21:17 帮助过:3人阅读
http://www.a.com/foo.jpg/a.php/b.php/c.php
根据上面给出的配置,nginx 传递给 FastCGI 的 SCRIPT_FILENAME 的值为:也就是 $_SERVER[‘ORIG_SCRIPT_FILENAME’]。
当 php.ini 中 cgi.fix_pathinfo = 1 时,PHP CGI 以 / 为分隔符号从后向前依次检查如下路径:/home/verdana/public_html/unsafe/foo.jpg
直到找个某个存在的文件,PHP 会把这个文件当成 cgi 脚本执行,并赋值路径给 CGI 环境变量——SCRIPT_FILENAME,也就是 $_SERVER[‘SCRIPT_FILENAME’] 的值了。在很多使用 php-fpm (<0.6) 的主机中也会出现这个问题,但新的 php-fpm 的已经关闭了 cgi.fix_pathinfo,如果你查看 phpinfo() 页面会发现这个选项已经不存在了,代码 ini_get("cgi.fix_pathinfo") 的返回值也是 "false"。
以上就介绍了整理的一点东西原创为wwwphpvimnet,包括了wph,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。