Cron Jobs与Urantu 16.10 x64上的Laravel 5.3

时间:2016-12-25 20:06:28

标签: php linux laravel ubuntu cron

我正在运行Digital Ocean的Ubuntu 16.10 x64,并在服务器上部署了php Framework Laravel 5.3.28。 在大多数情况下,一切都正常工作,但是我试图让crontab调用像php artisan schedule:run这样的工匠命令,以便laravel的任务调度程序可以使用。

我不希望下载任何额外的软件包以使其工作,因为我觉得不应该真的需要,因为如果正确编码,cron可以调用任何命令。

我正在尝试做什么:

crontab -e内部我正在尝试正确编写Ubuntu正确的方式来调用php artisan schedule:run

我做了什么:

我目前尝试了多种不同的编写此命令的方法,但没有任何工作方式如下所示:

#Attempt for cron
SHELL=/bin/bash
#PATH=????? <---Confused if this is even needed
* * * * * php /path/to/artisan scheduled:run 1>> file.log 2>&1
* * * * * /path/to/php artisan scheduled:run 1>> file.log 2>&1
* * * * * /path/to/php artisan scheduled:run >> file.log
* * * * * /path/to/php artisan scheduled:run 1>> file.log
* * * * * /path/to/php artisan schedule:run
* * * * * /path/to/php /path/to/artisan scheduled:run 1>> file.log

我已经去了多个资源尝试找到答案,但似乎没有什么能解决我的具体问题。

资源:

结论:

此时我已经陷入困境。有人可以帮帮我吗?我所要做的就是使用Ubuntu的cron调用php artisan命令,我不知道确切的方法。任何和所有的帮助都非常感谢。

提前致谢,

节日快乐!!

2 个答案:

答案 0 :(得分:3)

我们走了。这就是我的样子。 :)

* * * * * php /home/spacemudd/laravel/artisan schedule:run >> /dev/null 2>&1

答案 1 :(得分:1)

您的几个crontab条目应该可以使用。如果它们似乎不起作用,则下一个问题是您是否安装了php-cli包裹?没有它,您将无法通过命令行运行php脚本,只能通过Web服务器运行。如果您还没有我建议通过以下方式安装php7.0-cli:

sudo apt-get update

sudo apt-get install php7.0-cli

案例可以,当您通过sudo apt-get install php7.0-fpm下载php7时,它下载的版本可以与Laravel 5.3一起使用,但不一定适用于使用Ubuntu调用php命令的cron作业。这是一个假设但我觉得可能仍值得调查。