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$ {紅色部分路徑需要根據你主機主目錄的實際情況填寫
配置完以上部分,重啟一下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的用戶一樣