php error_log消息在超时时丢失

时间:2017-03-07 16:17:56

标签: php logging nginx timeout fastcgi

我正在尝试调试可能需要很长时间才能运行的PHP脚本,并返回“网关超时”#39; (在nginx上使用fastcgi-php5-fpm运行,使用ubuntu官方软件包安装)。

发生超时时 - php error_log消息不会记录到error.log文件中。

如何调试脚本 - 或者至少从脚本中获取任何日志?

我试图调用flush(),它只是将stdout刷新到客户端浏览器,而不是stdlog到日志文件。

一个简单的脚本来演示这种情况:

error.php:

<?php
error_log("error occured!");
while(true){}
?>

编辑:

Finnaly我已经使用

将日志写入文件
file_put_contents($filename, $message.'\n', FILE_APPEND);

但它没有解决问题 - 当php因超时而终止时,不会写入error_log。

1 个答案:

答案 0 :(得分:0)

最后,我使用

将日志写入文件
file_put_contents($filename, $message.'\n', FILE_APPEND);

但它没有解决问题 - 当php因超时而终止时,不会写入error_log。