首頁 >php教程 >php手册 >Nginx配置PHP-FPM支持Pathinfo

Nginx配置PHP-FPM支持Pathinfo

WBOY
WBOY原創
2016-06-06 20:12:311355瀏覽

在 nginx 下用过 php 的同学肯定知道 nginx 对 php 的 pathinfo 支持一直不好,以前我们都会用一些很山寨的方法来达到这一效果,往往最后还要配合 php.ini 里设置 cgi.fix_pathinfo = 1 。而且这方面的文档一直是乱七八糟,基本上你找到的每篇文档都有自己的

在 nginx 下用过 php 的同学肯定知道 nginx 对 php 的 pathinfo 支持一直不好,以前我们都会用一些很山寨的方法来达到这一效果,往往最后还要配合 php.ini 里设置 cgi.fix_pathinfo = 1。而且这方面的文档一直是乱七八糟,基本上你找到的每篇文档都有自己的一套做法。

我最近在升级了 nginx 以后发现官方对 php-fpm 的支持有了很大的提高,也许这是很久远的事情了,但是原谅我在 0.8 版本以后就没有怎么认真看过它的配置文件了。

具体说来就是加了 fastcgi_split_path_info 这样一项,这样它的配置就变得非常简单了,删掉你以前 server 里针对 php 的 location 配置,并增加下面的内容

<code>        location ~ [^/]\.php(/|$) {
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
</code>

注意,以上代码在 nginx 1.1.19 中测试通过。

好把,就是这个样子,不需要你再自定义一堆 fastcgi_param 了。注意如果你以前打开过 cgi.fix_pathinfo = 1 请关掉它。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn