PHP脚本正在使用ZipArchive类,并且可能长时间运行。 由于它是静静地死去但是写了一个部分zip文件,我在$ zip-> close()周围包装了error_log()语句。 (ini_set在此代码之前设置错误记录到文件和E_ALL) error_log(“calling zip-> close()”); $ rc = $ zip-> close(); error_log(“zip-> close()返回$ rc”);
日志文件显示第一个error_log,但从不显示第二个。 unix top命令显示进程运行的总CPU时间为c。在它失效前2.5分钟。
我还尝试使用set_error_handler()捕获错误,并使用error_log()来记录catch。但是没有任何内容出现在日志文件中。
我假设这个过程正在被反弹,可能是Apache(我无法控制Apache或PHP)。
我的问题是:为什么我在error_log使用的文件中看不到这个错误?
感谢您提出的绕过问题的建议,但我的问题仍然存在:
为什么我在日志中看不到这个错误?或者为什么我不能通过set_error_handler()来捕获这个错误?
答案 0 :(得分:1)
set_time_limit(0);
0 =无限期