3

PHP 脚本正在使用 ZipArchive 类,并且可能运行时间很长。由于它正在默默地死去,但编写了一个部分 zip 文件,我将 error_log() 语句包装在 $zip->close() 周围。(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() 来记录捕获的处理程序。但是日志文件中没有显示任何内容。

我假设该过程正在被退回,可能是由 Apache(我无法控制 Apache 或 PHP)。

我的问题是:为什么我在 error_log 使用的文件中看不到这个错误?

感谢您提供规避问题的建议,但我的问题仍然存在:

为什么我在日志中看不到这个错误?或者为什么我不能通过 set_error_handler() 捕捉到这个错误?

4

1 回答 1

1
set_time_limit(0);

0 = 无限期

于 2012-12-02T22:49:30.593 回答