任务计划程序 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
希望这对面临类似问题的人有所帮助。
尼克
我直接切入。我的任务计划程序不会 运行 与 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
希望这对面临类似问题的人有所帮助。
尼克