実行に時間がかかるかもしれないPHPスクリプトをデバッグしようとしていて、 '504 Gateway Time-out'(nginxでfastcgi-php5-fpmを実行し、ubuntu公式パッケージ)。タイムアウト時にPHP error_logメッセージが失われる
タイムアウトが発生した場合 - php error_logメッセージはerror.logファイルに記録されません。
スクリプトをデバッグするにはどうすればよいですか?または、スクリプトから少なくともログを取得するにはどうすればよいですか?
私はflush()を呼び出そうとしましたが、stdoutをクライアントブラウザに流して、ログファイルにstdlogを流しませんでした。
状況を実証するための簡単なスクリプト:
error.php:
<?php
error_log("error occured!");
while(true){}
?>
編集:私は
file_put_contents($filename, $message.'\n', FILE_APPEND);
を使用してファイルにログを書いてきましたFinnaly
しかし、それは問題の問題を解決しない - phpがfoを終了したときにerror_logは書き込まれないrタイムアウト