Nginx

nginx + php5-fpm 不能正常工作。我只看到白屏

  • September 3, 2016

我剛剛安裝了 nginx 和 php5-fpm,我想在埠 82 上對其進行測試。所以我呼叫了http://mysite.com:82/test555.php,但我什麼也沒看到。只是一個白屏。沒有錯誤,沒有警告,我什麼都看不到 :) 有一個 nginx 的錯誤日誌和一個 php5-fpm 的錯誤日誌 - 但是……沒有任何錯誤。我不明白出了什麼問題。請幫我找出來。

root@localhost:# echo "<?php phpinfo(); ?>" > /home/www/public_html/test555.php
root@localhost:# chmod 755 /home/www/public_html/test555.php
root@localhost:# cat /etc/nginx/sites-available/default
server {
       listen 82;
       root /home/www/public_html;
       index index.php index.html;

       server_name mysite.com;
       access_log /var/log/nginx/nginx-access.com.log;
       error_log /var/log/nginx/nginx-errors.com.log;

       location ~ \.php$ {
               fastcgi_pass unix:/var/run/php5-fpm.sock;
               # fastcgi_pass 127.0.0.1:9000;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
               fastcgi_param QUERY_STRING              $query_string;
               fastcgi_param REMOTE_ADDR               $remote_addr;
       }
}

root@localhost:# /etc/init.d/nginx status
* nginx is running

root@localhost:# /etc/init.d/php5-fpm status
* php5-fpm is running

root@localhost:# ls -la /var/run/php5-fpm.sock
srw-rw-rw- 1 root root 0 Feb  3 01:14 /var/run/php5-fpm.sock

root@localhost:# cat /var/log/php5-fpm.log 
....
[03-Feb-2014 01:14:52] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful
[03-Feb-2014 01:14:52] NOTICE: fpm is running, pid 19080
[03-Feb-2014 01:14:52] NOTICE: ready to handle connections

root@localhost:# cat /var/log/nginx/nginx-access.com.log
...ip... - - [03/Feb/2014:01:29:44 +0000] "GET /test555.php HTTP/1.1" 200 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:26.0) Gecko/20100101 Firefox/26.0"

root@localhost:# cat /var/log/nginx/nginx-errors.com.log

root@localhost:#

接下來我可以做什麼來了解發生了什麼?我認為它應該可以正常工作。PHP 腳本返回我 code=200 但我沒有看到輸出。它從未被呼叫過,因為我試圖在那裡添加 file_put_contents 並且它真的從未被 nginx 呼叫過。

我今天使用完全升級的 ubuntu 12.04。

這個 SO Q&A 聽起來可能是您的問題,標題為:nginx 顯示空白 PHP 頁面

您的location節應與此類似:

location ~ \.php$ {
   include /path/to/fastcgi_params;
   fastcgi_pass  127.0.0.1:9000;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME /path/to/www/dir$fastcgi_script_name;
}

您必須特別注意您引用的腳本的路徑fastcgi_param

參考

引用自:https://unix.stackexchange.com/questions/112228