我希望在托管的Linux系统上运行冗长的PHP脚本(例如Godaddy或OVH)。该脚本应该可以运行1或2个小时。我想这将是一个cronjob。
我尝试使用以下命令调用我的PHP:
print `echo /usr/local/bin/php -q myScript.php | at now`;
但是这不会返回任何反馈,并且不会处理脚本。
使用'哪个PHP'我可以检查PHP的路径是否正确。
此外,像ls -l
这样的其他简单命令可以为我提供正确的输出。
我不确定如何进一步解决此问题,或者甚至是否可能。
您如何建议继续运行我的PHP脚本?
更新
我已经尝试将整个路径放到脚本中,但没有任何区别。
由于我不知道如何在主机帐户上编辑cron,我通过调用另一个PHP文件来调用我的PHP脚本。我有:
triggerScript.php:
<?php
print `/usr/local/bin/php /path/to/myScript.php`;
?>
和myScript.php:
<?php
print `ls -l`;
?>
现在我在浏览器上运行triggerScript.php,页面似乎加载了一段时间,但我收到浏览器错误“Internet Explorer无法显示网页”。
答案 0 :(得分:4)
你说过GoDaddy吗? 看看这个:
http://help.godaddy.com/topic/67/article/3547?locale=en
我使用/使用的所有linux共享主机都有从控制面板设置cron的选项。您不必通过从php运行命令来设置... Godaddy支持cron,即使是最低价的账户。我在Godaddy上托管的一些网站上使用此功能。
答案 1 :(得分:1)
您可能没有shell访问权限,无法获得真正的cron作业。
使用经常调用您的一个Web php脚本的免费或商业“web cron”提供商之一。将它与你的php脚本中的set_time_limit
调用相结合,这样就不会因为运行太久而被杀死。