Cron作业在cpanel中无法正常工作

时间:2012-10-23 12:50:26

标签: php cron cpanel

我已经设置了cron作业,它工作正常,但是当我直接运行php文件(从路径/ url)它成功运行,但从cron它没有。但是,我设置另一个非常简单的文件,以确保我的cron命令/路径设置正确我创建了另一个文件,并使用简单的PHP邮件功能,它已成功运行。请向我建议可能的区域。 (我正在使用Cpanel)

5 个答案:

答案 0 :(得分:11)

而不是像

那样输入cronjob命令
php -f /path_to_script/script.php 

像这样输入命令:

curl http://domain.com/yourscript.php

如果你想抑制输出,可以在最后添加> /dev/null

所以完整的命令是:

curl http://domain.com/yourscript.php > /dev/null

希望这有帮助!

答案 1 :(得分:1)

作为cURL的替代方案,您可以通过基于文本的浏览器调用脚本。像这样:

lynx -dump http://localhost/script.php

答案 2 :(得分:0)

您不应该有任何相对路径 - 这包括文件和命令。例如,如果要复制文件,则不应仅调用cp,而是将/bin/cp完整路径复制到命令中。要查找完整路径,可以在命令行运行which <cmd>

答案 3 :(得分:0)

我遇到了同样的问题。我在cpanel上的laravel项目中使用任务调度。我的命令是

/usr/local/bin/php /home/user_name/public_html/path/to/cron/script

这是版本问题。我的服务器默认php版本是7.1.33,但是在我的项目中php版本是7.2。因此,当我运行schedule命令时,它将使用与我的项目不兼容的php7.1。因此,根据cpanel文档,该命令实际上适用于不同的php版本

/usr/local/bin/ea-php99 /home/shadhinapp/domain_path/path/to/cron/script

任何我的cron作业命令是:

/usr/local/bin/ea-php72 /home/user_name/path_to_your_project/artisan schedule:run >> /dev/null 2>&1

答案 4 :(得分:0)

curl http://mydomain/auto_push/task.php?p=1

这是我项目中的实时工作代码。参见下图:

enter image description here