比如访问下面这个 url:
http://www.a.com/foo.jpg/a.php/b.php/c.php
根据上面给出的配置,nginx 传递给 fastcgi 的 script_filename 的值为:
/home/verdana/public_html/unsafe/foo.jpg/a.php/b.php/c.php
也就是 $_server[‘orig_script_filename’]。
当 php.ini 中 cgi.fix_pathinfo = 1 时,php cgi 以 / 为分隔符号从后向前依次检查如下路径:
/home/verdana/public_html/unsafe/foo.jpg/a.php/b.php/c.php
/home/verdana/public_html/unsafe/foo.jpg/a.php/b.php
/home/verdana/public_html/unsafe/foo.jpg/a.php
/home/verdana/public_html/unsafe/foo.jpg
直到找个某个存在的文件,php 会把这个文件当成 cgi 脚本执行,并赋值路径给 cgi 环境变量——script_filename,也就是 $_server[‘script_filename’] 的值了。
在很多使用 php-fpm (
以上就介绍了整理的一点东西原创为wwwphpvimnet,包括了wph,php方面的内容,希望对php教程有兴趣的朋友有所帮助。
