我如何知道 php 脚本失败的原因


How do I tell why a php script has failed?

我正在运行一个Wordpress网站,我正在将帖子从非WP网站迁移到Wordpress网站。 我要迁移的网站有大约 5000 个帖子,所以我创建了一个工具,我使用 wp_schedule_single_event() 从管理区域启动。 事件触发并启动正常,并且在获取帖子或插入帖子时没有问题。

但是,大约 12 分钟后,该过程将失败,并且不会报告任何致命错误。 有人可以告诉我如何调试进程,因为它在 wp-cron 下运行? 我已将以下内容添加到我的脚本中,但它不会报告和警告或错误:

set_time_limit(0); // no time limit
error_reporting(-1); // log everything
ini_set('log_errors', true);
ini_set('memory_limit', -1); // no memory limit
ignore_user_abort(true);

我知道其他人也问过类似的问题,但他们的决议对我没有帮助。

这可能是相当

多的问题,超时,数据库异常等等。您可以使用尝试/捕获块。try 块将保存您的代码,catch 块将用于在引发异常时处理异常。

下面是一个示例:

try {
    // your code goes here
} catch (Exception $e) {
    // log/print error
    print $e->getMessage();
}

指定为 catch 参数的 Exception 类是基类,因此它将捕获每个异常,这可能是您在这种情况下想要的。

有关例外的更多信息:http://php.net/manual/en/language.exceptions.php