nginx运行php如何,ThinkPHP项目在Nginx上运行的配置问题
為什么需要配置
當我們在使用Nginx來運行Think PHP寫的網站項目,在訪問時,可能會出現:Access denied , 如圖:
發生錯誤的原因是:Nginx下不支持PATH_INFO
如何解決這個問題
既然Nginx不支持PATH_INFO , 那么我們應該對nginx進行配置,使其支持PATH_INFO (我以CentOS為例)
第一步:
進入 /usr/local/php/etc/php.ini , 將cgi.fix_pathinfo的值設為1,如圖:
在進入 /usr/local/nginx/conf/nginx.conf , 添加如下內內容:
location / {
#try_files $uri $uri/ /index.php?$query_string;
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
}
}
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
添加位置如圖所示:
第二步:
在CentOS分別運行命令:
service php-fpm restart
service nginx restart
拓展
總結
以上是生活随笔為你收集整理的nginx运行php如何,ThinkPHP项目在Nginx上运行的配置问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 字节序,Linux_Linux中
- 下一篇: php 批量修改文件,php如何批量修改