在过去的 5 个小时里,我一直在努力完成一项我认为很简单的任务,即为 Laravel 启用 cron 功能。我在 Amazon EC2 Ubuntu LAPP 堆栈服务器上运行 Laravel 5.1。
我已使用命令将 cron 任务添加到 cron 作业列表中
sudo crontab -e
然后我添加了 laravel 文档中列出的命令
* * * * * php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1
我已确保 cron 正在运行,如果我运行,我可以看到任务正在运行
sudo grep -i cron /var/log/syslog|tail -3
哪个返回
Mar 4 15:36:01 ip-172-31-7-174 CRON[15120]: (root) CMD (php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1)
Mar 4 15:37:01 ip-172-31-7-174 CRON[15123]: (root) CMD (php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1)
Mar 4 15:38:01 ip-172-31-7-174 CRON[15125]: (root) CMD (php /home/bitnami/htdocs/project/app/artisan schedule:run >> /dev/null 2>&1)
我已经通过从命令行运行命令测试了路径中没有任何拼写错误并且它可以正常工作
php /home/bitnami/htdocs/project/app/artisan schedule:run
我还添加了这个 cron 任务只是为了确认 cron 正在运行
* * * * * echo "Cron" > /home/bitnami/htdocs/project/app/artisan/file.txt
我还通过执行以下操作确保文件是可执行的,但这也没有解决问题
chmod 755 artisan
chmod 777 artisan (I am aware this is dangerous)
chmod +x artisan (Suggested on fourms)
有没有人对我在这里出错的地方有任何建议。
最佳答案
我经历过这个并找到了解决方案。这是由于bitnami中的未知原因,因此cron无法识别php命令。我使用此命令使其工作:
* * * * * /path/to/php/bin/php /home/bitnami/htdocs/project/app/artisan schedule:run 1>> /dev/null 2>&1
关于php - Laravel artisan cron 任务无法在 ubuntu 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35800232/