nginx + php5-fpmが正しく動作しません。白い画面しか表示されない


11

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を使用しています。


内容は/var/log/nginx/nginx-errors.com.log何ですか?
サミア14

これが関連しているかどうかを確認してください:bbs.archlinux.org/viewtopic.php
id=

同様の問題があり、nginxがページを途中で処理してから停止しました。nginxログにエラーはありませんでした。nginx fastcgiバッファリングを変更して修正しました。stackoverflow.com/a/43294078/1008916を
Mugoma J. Okomba 2017

回答:


16

この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

参照資料


ええ、それは私のせいでした。「include fastcgi_params;」という行を追加しました。場所に、今それは動作します!
JavaRunner 2014

@JavaRunner-問題が解決したことをうれしく思います。
slm

13

これはこの問題に直面している他の人に役立つかもしれません、

nginx confファイルfastcgi_paramsに次の行を追加することもできるため、変数へのパスを指定する必要はありませんSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

これは、仮想ホストが多数ある場合に特に便利です。


これは、はるかに優れた別のパスのすべての時間を含めたよりも、あなたに感謝
krdx

1
これでUbuntu 14.04の私の問題が解決しました。nginxがリポジトリから取得したフレッシュインストールです。ありがとう!
Arda
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.