OS: Ubuntu 15.04
由於nginx與php-fpm之間的一個小bug,會導致這樣的現象: 網站中的靜態頁面 *.html 都能正常訪問,而 *.php 文件雖然會返回200狀態碼, 但實際輸出給瀏覽器的頁面內容卻是空白。 簡而言之,原因是nginx無法正確的將 *.php 文件的地址傳遞給php-fpm去解析, 相當於php-fpm接受到了請求,但這請求卻指向一個不存在的文件,於是返回空結果。 為了解決這個問題,需要改動nginx默認的fastcgiparams配置文件: vi /etc/nginx/fastcgi_params 在文件的最後增加兩行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
然後重啟一下服務:
service php5-fpm reload service nginx reload //重新加載各項配置改動。
參考:
基於ubuntu 14搭建nginx+php+mysql環境
linux nginx php顯示空白頁