1、 php.ini(/usr/local/php/etc/php.ini)的配置中中找到
cgi.fix_pathinfo=0
將其改成
cgi.fix_pathinfo=1
2、nginx配置文件/etc/nginx/conf/nginx.conf中注意以下部分
代碼如下 location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/www/blog$fastcgi_script_name; include fastcgi_params; }紅色部分路徑需要根據你主機主目錄的實際情況填寫
配置完以上部分,重啟一下nginx和php-fpm,問題成功
另外,還可能跟 路徑或者權限 有關系,或者SCRIPT_FILENAME 變量沒有被正確的設置(這在nginx是最常見的原因)
1)如果html也出現404錯誤,那么就是document root 設置的有問題
2)檢查腳本文件的權限, 可能PHP或者web server不能讀取它
3)SCRIPT_FILENAME設置錯誤
解決方法:
排除了SCRIPT_FILENAME設置錯誤,那問題就出現在目錄文件夾及文件的權限訪問上。重新設置了文件www用戶組的權限,立即可以訪問后臺了。在這里再次特別感謝 久酷 童鞋。
設置權限的SSH命令則是
代碼如下chown -vR www:www /folder
補充:我的SCRIPT_FILENAME設置參數
vim fcgi.conf (SCRIPT_FILENAME的目錄)
代碼如下fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol;
對應document_root的權限必須與nginx.conf和fcgi.conf的用戶一樣
新聞熱點
疑難解答