夺命雷公狗---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了。。。