欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

整理的一点东西原创为wwwphpvimnet

程序员文章站 2022-05-08 23:45:56
...
nginx是个 Proxy,它只负责根据用户的配置文件,通过 fastcgi_param 指令将参数忠实地传递给 FastCGI Server,问题在于 FastCGI Server 如何处理 nginx 提供的参数?
比如访问下面这个 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教程有兴趣的朋友有所帮助。