从命令行运行时脚本运行正常但不通过cron运行

时间:2010-01-12 03:41:33

标签: php cron

我有一个php脚本,在通过SSH连接到我的服务器并运行它时可以正常运行。

然而,即使cron作业设置为每10分钟运行一次,php脚本似乎也不会运行。

如何查看cron作业产生的错误?

3 个答案:

答案 0 :(得分:1)

有时,错误消息会由cron通过电子邮件发送给您。否则,它可能会被发送给一个不幸的系统管理员,他可能会在/ dev / null中严格保存这些消息。

当事情从命令行起作用而不能从cron起作用时,“环境”几乎总是有问题。在cron环境中未设置在正常命令行环境中设置的内容。请记住,cron不会为您运行您的配置文件 - 您只有极少数环境变量,其中包含PATH之类的最小值。

通常,我假设我应该从cron运行一个shell脚本,并且该shell脚本负责确保正确的环境到位 - 并且在运行软件的主要部分之前,错误被捕获并适当记录。

答案 1 :(得分:1)

请记住,cron在不同于您可能习惯的工作目录中运行您的脚本。在命令行上尝试以下内容:

cd /
./path/to/your/script.php

如果失败,请正确修改脚本中的所有路径,直到它运行。然后它将在cron中运行。

答案 2 :(得分:0)

不确定,但它可能与证书相关。安排您的任务使用您的用户ID运行,看看是否不清除它。如果是这样,您需要创建一组“批处理”凭据,您可以使用这些凭据来安排在下面运行的任务。