在托管系统上运行PHP cronjob

时间:2011-04-10 05:54:22

标签: php linux

我希望在托管的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无法显示网页”。

2 个答案:

答案 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调用相结合,这样就不会因为运行太久而被杀死。