1 回答

TA貢獻1850條經驗 獲得超11個贊
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的用戶一樣
- 1 回答
- 0 關注
- 807 瀏覽
添加回答
舉報