任务计划程序 Laravel 5.4 cron 不会自动 运行 Mac OSx

Task Scheduler Laravel 5.4 cron not automatically running Mac OSx

我直接切入。我的任务计划程序不会 运行 与 cron 作业自动结合,只有在我 运行:

时才有效
php artisan schedule:run

我在 handle() 函数中所做的是:

\Log::info('scheduler running @' . \Carbon\Carbon::now() );

这个 运行 很完美,当命令是 运行 时会记录下来,所以我知道我的 artisan 命令没有任何问题,但 cron 作业本身,或者我的内部的某些东西我的本地主机的配置。

我已经为 crontab 条目尝试了两种方法。

* * * * * php Sites/projectname/artisan schedule:run >> /dev/null 2>&1

* * * * * cd Sites/projectname; php artisan schedule:run >> /dev/null 2>&1

两者都没有工作,我应该每分钟在 schedule() 函数中的 app/Kernel.php 中获取一个日志 我有这段代码。 $schedule->command('send:email')->everyMinute();

我尝试使用 php artisan cache:clear 清除 Laravel 缓存 我尝试重新启动我的 Laravel 服务器 我已经使用 sudo apachectl restart [=26= 重新启动我的 apache 服务器]

哪位英雄能拯救世界?

谢谢

已解决

@MortaddaJafar 为我解决了这个问题,所以功劳都归于他。

基本上我的 Laravel php 版本是 5.6.4 而我的 apache php 服务器版本是 5.6.30 所以这样做会导致兼容性问题我的 PHP 版本不支持 splat 运算符。将 -q 放入我的 cron php -q 允许我调试问题,因为错误消息被发送到 /var/mail/nick

要解决此问题,只需将 php 版本的直接路径应用到 运行 cron,这样可以避免版本问题。 运行 which php 获取路径,然后将其添加到您的 cron 中。

* * * * * cd Sites/projectname; /usr/local/bin/php -q artisan schedule:run >> /dev/null 2>&1

希望这对面临类似问题的人有所帮助。

尼克