Home  >  Article  >  php教程  >  Nginx配置PHP-FPM支持Pathinfo

Nginx配置PHP-FPM支持Pathinfo

WBOY
WBOYOriginal
2016-06-06 20:12:311295browse

在 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 请关掉它。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn