由於nginx與php-fpm之間的一個小bug,會導致這樣的現象: 網站中的靜態頁面 .html 都能正常訪問,而 .php 檔案雖然會返回200狀態碼, 但實際輸出給瀏覽器的頁面內容卻是空白。 簡而言之,原因是nginx無法正確的將 *.php 檔案的地址傳遞給php-fpm去解析, 相當於php-fpm接受到了請求,但這請求卻指向一個不存在的檔案,於是返回空結果。 為了解決這個問題,需要改動nginx預設的fastcgi_params配置檔案
我的檔案地址在 /usr/local/nginx/conf 目錄中
#編輯檔案
vim /usr/local/nginx/conf/fastcgi_params
#在檔案頂部新增
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
重啟服務:
#重啟nginx
service nginx restart
#重啟php-fpm
service php-fpm restart