【发布时间】:2014-09-25 00:10:54
【问题描述】:
嗨,
我相信我真的需要 PHP 专家来解决这个问题。我们有一个正在爬网的应用程序。 PHP 脚本使用 proc_open 和 exec() 并通过循环引用运行。
构成主要结构的两个脚本都将所有和每个错误都保存在自定义错误日志中,定义如下:
//error_log
@ini_set('error_reporting', -1);
@ini_set('log_errors','On');
@ini_set('display_errors','On');
@ini_set('error_log','/var/www/vhosts/xxx/xxx/resonance/such_a_mess');
问题很简单,运行几个小时或几天后,应用程序停止爬取。而且根本没有错误信息。我一直在尝试使用 Newrelic 和 XHProf 获取更多详细信息,但没有任何运气。
在执行脚本时不涉及 HTTP 服务器,就像我提到的那样:
exec("sh -c \"$cmd | logger\" > /dev/null &");
在同样的情况下大约 3 个月...真的,此时我唯一想要的就是在日志中查看致命错误,然后再寻求解决方案。
谢谢大家! 克里斯;
【问题讨论】:
标签: php error-handling error-logging error-log