夺命雷公狗---linux NO:38 linux下nginx的pathinfo的支持
我们在nginx 中使用 thinkphp 的时候会遇到很多的问题,比如:

没权限,这个就是linux 权限管理的好处,我们给他权限。。

我们给他权限即可正常访问了:

然后我们为 IndexController 控制器下添加一个lists的方法:

然后我们添加一个lists的方法,如下所示:

保存退出。对她进行访问。。

没戏。。。因为nginx 不支持php后面的url 那里带斜线和后面带一串的参数。。所以我们要想办法让他支持pathinfo。。
不过我们先来windows下的apache下测试,创建一个名字为:test.php 的文件,代码如下所示:
<?php echo "<pre>"; print_r($_SERVER);

保存,然后对她进行访问。。。

这里很明显他已经认出来了。。
然后我们在 nginx 的html 目录下一样创建一个 test.php 的文件代码和上面的一样,如下所示:

不加参数如下所示:

一加参数则报错,如下所示:

我们的解决方案是修改 nginx.conf 文件,如下所示:


location ~ \.php(.*)$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; fastcgi_param PATH_INFO $1; include fastcgi_params; }
然后在去 目录下重置下配置文件即可。。
./nginx -s reload

然后再来访问测试测试:

ok,nginx 已经完美支持pathinfo了。。。

浙公网安备 33010602011771号