开发者社区> 问答> 正文

为什么云服务器 ECS Linux Crontab 执行 PHP 程序失败



问题现象





云服务器 ECS Linux Crontab 执行 PHP  程序失败。例如:
  1. */1 * * * * /opt/lampp/htdocs/demon monitor >> /tmp/crontab/monitor.log
  2. #查看 /tmp/crontab/monitor.log 为空
  3. $ ll -sh
  4. 0 -rwxrwxrwx 1 root root 0 8月  11 07:58 monitor.log
  5. #查看crontab日志,正常执行了
  6. Aug 11 07:37:01 iZ25v3bf76fZ CROND[1914]: (root) CMD (/opt/lampp/htdocs/demon monitor >> /tmp/crontab/monitor.log)
  7. Aug 11 07:37:01 iZ25v3bf76fZ CROND[1923]: (root) CMD (/opt/lampp/htdocs/demon monitor >> /tmp/crontab/monitor.log)
  8. #单独直接执行程序正常
  9. $ /opt/lampp/htdocs/demon monitor >> /tmp/crontab/monitor.log
  10. $ ll -sh
  11. 4.0K -rwxrwxrwx 1 root root 1.9K 8月  11 08:00 monitor.log  


问题原因





crontab 环境变量中没有 PHP 执行路径导致失败。

解决办法





计划任务修改为如下,添加 PHP 执行路径即可
  1. */1 * * * * /bin/php /opt/lampp/htdocs/demon monitor >> /tmp/crontab/monitor.log



如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系云市场商家 寻求帮助

展开
收起
boxti 2017-10-23 11:20:00 1805 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载