我有一个Laravel 5.5安装,我试图让调度程序运行 . 我运行了以下cron作业,它运行正常 .
* * * * * php /var/www/html/project1/artisan schedule:run >> /var/www/html/project1/schedule.log
cron作业输出到一个日志文件,如果我运行工匠日程表,我在cron中获得相同的结果:从命令行运行 . 结果始终相同,并且表示没有准备好运行的计划命令 . 当作业运行并且我得到输出时,问题似乎与cron不一致 .
我配置了简单的artisan inspire命令来运行Laravel计划功能 . 我可以在php artisan启动命令行上运行inspire命令,它工作正常 . 我理解所有关于时区的帖子,但它不是时区问题,命令根本不会运行 . 我也没有使用withoutOverlapping(),所以这不是我的问题 . 所以我每分钟运行一个cron作业来运行laravel计划,它输出到我的日志,这表明cron和Laravel正在通信 . 我认为问题一定是Laravel不认为有一个需要执行的命令 . 我不知道如何进一步调试这一点,所以任何帮助将不胜感激 .
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected $commands = [
//
];
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')
->everyMinute();
}
protected function commands()
{
require base_path('routes/console.php');
}
}