一个PHP脚本正在使用ZipArchive类,并且可能会长期运行。由于它正在悄无声息地死去,但正在编写一个部分zip文件,所以我将error_log()语句封装在$zip->close()中。(ini_set将错误日志记录设置为文件,并在此代码之前设置E_ALL)error_log("调用zip->close()");$rc=$zip->close();error_log("zip->close()return$rc");
日志文件显示第一个error_log,但从不显示第二个。unix top命令显示进程运行了大约2.5分钟的CPU总时间后才停止运行。
我还尝试过用set_error_handler()捕获错误,处理程序用error_log()记录捕获。但日志文件中没有显示任何内容。
我假设这个过程被反弹了,可能是Apache(我无法控制Apache或PHP)。
我的问题是:为什么我不能在error_log使用的文件中看到这个错误?
感谢您提出的规避问题的建议,但我的问题仍然存在:
为什么我无法在日志中看到此错误?或者为什么我不能通过set_error_handler()捕捉到这个错误
set_time_limit(0);
0=无限