我每晚都使用 cron 服务运行 PHP 脚本。它输出的所有内容都将打印到日志文件中以进行调试。我使用的文件将使用函数“file_get_contents()”从不同的站点检索 xml。但是该函数可能会返回一个我真的不想看到的错误,因为我已经显示了一个自定义错误。
我的一段代码的快速示例:
$buffer = @file_get_contents('http://xx:xx@xx/xml/xx?offset=2') or print('retry in 5 seconds');
if($buffer === false) {
sleep(5);
$buffer = @file_get_contents('http://xx:xx@xx/xml/xx?offset=2') or print('error notice');
}
问题是第一个会触发错误并打印它会在 5 秒内重试。如何正确抑制抛出的错误?
我有一个错误处理程序,但我不想单独捕获此错误。
编辑:我的解决方案不是更改error_reporting,而是捕获错误消息。如果它以 'file_get_contents()' 开头,则不会引发错误。这不是最好的方法,但会为我完成这项工作。