【问题标题】:Timeout fatal error handling超时致命错误处理
【发布时间】:2013-05-02 03:35:11
【问题描述】:

我需要发送 500 封电子邮件,并且我希望为每封电子邮件指定时间限制。

目前,我运行 Ajax 调用来发送电子邮件。我需要对每封电子邮件的客户端 Javascript 做出答复,因此填写一个进度条供用户查看发货进度。

问题是我使用了set_time_limit,它返回了一个致命错误。我想要的是管理超时(通过异常或其他想法)以返回 JSON 以通过 jQuery 使用。

【问题讨论】:

  • 下次,请不要在问题中将所有文本加粗。一个简单而简短的问题就足以阅读。欢迎来到 SO。
  • 感谢您的反馈!
  • 看到一些代码不会有什么坏处...

标签: php error-handling timeout


【解决方案1】:

您可以通过 register_shutdown_function() 处理致命错误

<?php
error_reporting(0);
function shutdown() {
    $error = error_get_last();
    if ($error['type'] === E_ERROR) {
        //handle timeout error here
    }
}

register_shutdown_function('shutdown');

set_time_limit(1);
// send mails

【讨论】:

    猜你喜欢
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 2015-05-07
    • 2023-03-24
    • 2013-11-24
    • 2017-04-07
    相关资源
    最近更新 更多