php error_log 消息超时丢失
php error_log messages lost upon timeout
我正在尝试调试一个 php 脚本,它可能需要很长时间才能 运行,并且 return '504 网关超时'(运行 正在nginx with fastcgi-php5-fpm, 使用 ubuntu 官方包安装).
发生超时时 - 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);
但它没有解决问题 - 当 php 因超时而终止时,error_log 未写入。
最后我使用
将日志写入文件file_put_contents($filename, $message.'\n', FILE_APPEND);
但它没有解决问题 - 当 php 因超时而终止时,error_log 未写入。