学习积累

linux yii2 crontab 不生效

    今天遇见一个很奇葩的问题,linux 下设置了crontab不生效,但是手动执行又是成功的。

在开环环境上是对的,但是在测试环境上就不对,真的是不思其解。

具体crontab如下:

*/1 * * * *  /home/worker/data/www/***.com/protected/yii api/live/check-live-status >> /tmp/live-status.log

最后和同事沟通请教了一下,终于发现问题所在。

这是由于没有添加Php的路径变量,在开发环境默认的Php环境是/user/bin/php, 而测试环境是/home/worker/bin/php,所以在开发环境下是正常工作的,而测试环境却是不正常的。 其实只要我们在写crontab的时候写全也就不会存在这个问题了。 例如:

*/1 * * * * /home/worker/bin/php  /home/worker/data/www/***.com/protected/yii api/live/check-live-status >> /tmp/live-status.log

当然,我们只要确保php在/user/local/bin 下面也不会有问题。

Be the First to comment.

Leave a Comment