嗨,
我相信我真的需要一位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个月......真的,此时我唯一想要的就是在日志上看到致命错误,然后才能找到解决方案。
谢谢大家! 克里斯;
答案 0 :(得分:0)
你要发送到"黑洞"你的日志
尝试将其发送到计划文件:
exec("sh -c \"$cmd | logger\" > /home/your-user/mylog.txt");
确保您具有正确的写入权限。
拥抱