本文主要是介绍Lnmp ThinkPHP5 开启pathinfo支持,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我在wnmp环境下的代码正常运行,但是放在lnmp环境下发现ThinkPHP5的pathinfo失效,导致Route:rule也无法使用。即使按官网网上说的添加一些代码也只是首页有用,点击其他页面仍然可能导致404或者500错误。最终找到了以下解决方案。最后会贴出我的配置
1. 修改 /usr/local/php/etc/php.ini 文件
搜索cgi.fix_pathinfo=0,将其值改为1
2. 修改/usr/local/nginx/conf/nginx.conf (或者vhost下的)文件
添加
include /usr/local/nginx/conf/enable-php-pathinfo.conf;location / {index index.html index.htm index.php l.php;autoindex off;if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s=/$1 last;}}
3. nginx重新加载配置文件
nginx -s relaod
以下是我的配置文件。
server {listen 80;server_name www.vm2phplive.io;root "/home/wwwroot/phplive/public";include /usr/local/nginx/conf/enable-php-pathinfo.conf;location / {index index.html index.htm index.php l.php;autoindex off;if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s=/$1 last;}}# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
这篇关于Lnmp ThinkPHP5 开启pathinfo支持的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!