php - Laravel artisan cron 任务无法在 ubuntu 上运行

标签 php laravel ubuntu amazon-ec2 cron

在过去的 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/

相关文章:

php - 在 Ubuntu 上安装 Laravel 的挫败感

php - Laravel 如何知道调度程序何时更新?

php - 如何从公共(public)文件夹中检索图像并在 Laravel 中转换为 base64?

linux - 从 1 个 ec2 实例 rsync 到另一个实例

android - android上的ubuntu无法打开显示chroot

php - 通过 Nginx Vs 部署 Laravel 站点。 PHP artisan 服务

javascript - Ajax查询json源码并输出结果

php - jQuery .click 函数每次都会执行吗?

php - 每分钟通过 CRON 发送电子邮件 - 我的方法可以改进吗?

php - Google App Engine 启动器在部署图像文件时抛出 ascii 编解码器错误