linux用crontab执行yii脚本不成功

来源:互联网 发布:剑网3江湖论贱捏脸数据 编辑:程序博客网 时间:2024/05/21 12:43

今天遇到一个问题执行crontab 执行失败 ,但是直接请求能成功

问了一些大牛为什么会执行失败的原因我总结了一下 不知道具体为什么 

1.crontab是写到root用户的,所以crond服务在执行上会读取 root的$PATH变量

2.虽然crond里面写了绝对路径 但是 php执行文件里可能再次调用了php相关环境参数或者命令,这时间 它只会查找 系统的可执行目录,并不能继承你写的绝对路径


查看cron的日志发现 执行的命令也在进程中 tail -f /var/log/cron


直接执行

/usr/local/webserver/php/bin/php /data/web/xxxxx/protected/yiic_qa.php xx index

也是可以成功


然后修改了crontab -e 里面php的执行路径就成功了

执行失败的写法 

0 0  * * * /usr/local/webserver/php/bin/php /data/web/xxxxx/protected/yiic_qa.php xx index

执行成功的写法

0 0  * * * /bin/php /data/web/xxxxx/protected/yiic_qa.php xx index

0 0