サーバーに到達しようとすると504ゲートウェイタイムアウトが発生します。小さなチェックでphp5-fpmログにログが見つかりませんでしたが、念のため、再起動を試みました。それを再起動しようとしているとき:
Sudo service php5-fpm restart
[fail]
しかし、私がするとき
Sudo service php5-fpm stop
Sudo service php5-fpm start
エラーは出ません。
ログがない場合、どうすれば調査できますか?私に何ができる?
error_logファイルでphp-fpmを確認しましたか?そのファイルの場所はphp-fpm.confで宣言する必要があります(Ubuntuではconfigは/etc/php5/fpm/php-fpm.conf、ログファイルは/ var/log/php5-fpmです。/log)、log_levelも確認してください。無効になっている場合(; log_level)、有効にしてdebugに変更してください。その後、php5-fpmサービスを再起動してログを確認してください。
フォアグラウンドモードでphp5-fpmを実行することもできます。
# php5-fpm -y /etc/php5/fpm/php-fpm.conf
多分これはあなたに何か面白いものを示しています。
標準的なトラブルシューティング手順:
ps aux | grep php-fpm
、次にlsof -p $PID | grep log
(何も表示されない場合はgrepを省略してください)。このメモは私を助けました: https://bugs.launchpad.net/nginx/+bug/1366651
私の場合、nginx> 1.6.1に更新すると、php5-fpmに渡されるパラメータがfastcgi_paramsではなくfastcgi.confにあるため、PHPが常に200(ok )。ただし、SCRIPT_FILENAMEが設定されなくなったため、コンテンツはありません。
それが他の誰かにも役立つことを願っています。
私にとって、問題はphp-fpm.conf
ファイルがデフォルトの構成ファイル名を使用していないことでした-/etc/php5/fpm/php5-fpm.conf
という名前が付けられました(php5-fpm.conf
vs php-fpm.conf
)
php5-fpm -t
[26-Jul-2014 22:39:16] ERROR: failed to open configuration file '/etc/php5/fpm/php-fpm.conf': No such file or directory (2)
[26-Jul-2014 22:39:16] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[26-Jul-2014 22:39:16] ERROR: FPM initialization failed
Confファイルの名前をphp-fpm.conf
に変更すると、問題が解決しました。
Sudo mv /etc/php5/fpm/php5-fpm.conf /etc/php5/fpm/php-fpm.conf
Sudo service php5-fpm restart
* Restarting PHP5 FastCGI Process Manager php5-fpm [ OK ]
Php 7がphp-fpmを代わりに使用するため、Ubuntu dist-upgradeでパッケージphp5-fpmがアンインストールされる場合があります。コンソールでこれを実行してみてください:
php5-fpm
存在しない場合は、おそらくphp 7を使用しているので、インストールしてください。
apt-get install php-fpm
php7バージョンをインストールします
ログファイルがないというこの問題を経験したところ、HTTPではなくHTTPSを介してURLにアクセスしていて、そのプロトコルがNginxで設定されていなかったため、PHP5-FPMがトラフィックを取得していませんでした。
誰かを助けるかもしれません。