基本上我有一个问题。我使用cron作业向我的用户发布了facebook状态,但是当我从浏览器运行cron时,我在大约30秒后收到错误。我编辑了.ini文件以允许最长的执行时间,但它似乎没有用。
它会更新前700个用户的状态,但之后会停止。
我可以从终端运行它还是有什么我可以检查/做的事情来解决这个问题?
答案 0 :(得分:2)
从命令行运行PHP脚本时,默认的最大执行时间为0 - 即无限制。在HTTP上下文中,还有其他可以关闭脚本的设置,包括Apache Timeout指令。这绝对是我通过PHP CLI运行的一项工作。
我会启用error logging来描述您的脚本遇到的限制。有很多可能性 - 你可能会达到内存限制,执行时间可能太短,Facebook API可能会限制你的请求等等。
答案 1 :(得分:0)
确保您可以通过以下方式看到错误:
error_reporting(E_ALL);
ini_set('display_errors',1);
位于脚本的顶部。
你可能遇到了max_execution_time上限,或者你的内存不足等等。错误信息有助于确定。
正如Frank Farmer在评论中暗示的那样,您可以在脚本中使用set_time_limit(0);
来允许它无限期地运行。
如果您遇到内存限制问题,可以在脚本中加快时间内存限制(ini_set('memory_limit',...);
) - 但是您应该考虑修复代码,这样就不会消耗内存。