在共享服务器上与Laravel一起使用Cron,会出现此错误,为什么?

时间:2019-02-01 18:00:17

标签: php laravel cron cpanel

下午好,

与laravel相比,我试图在主机中运行此cron以处理laravel 5.6中的队列,但出现以下错误:

[root@s19 ~]# /usr/local/bin/php /home/user/myweb/artisan schedule:run

   InvalidArgumentException  : 5 is not a valid position

  at /home/nigmacod/nigmacode/vendor/dragonmantank/cron-expression/src/Cron/FieldFactory.php:46
    42|                 case 4:
    43|                     $this->fields[$position] = new DayOfWeekField();
    44|                     break;
    45|                 default:
  > 46|                     throw new InvalidArgumentException(
    47|                         $position . ' is not a validposition'
    48|                     );
    49|             }
    50|         }

  Exception trace:

  1   Cron\FieldFactory::getField()
      /home/user/myweb/vendor/dragonmantank/cron-expression/src/Cron/CronExpression.php:153

  2   Cron\CronExpression::setPart("*")
      /home/user/myweb/vendor/dragonmantank/cron-expression/src/Cron/CronExpression.php:136

那是我内核文件中的功能计划:

 protected function schedule(Schedule $schedule)
        {

            $schedule->command('queue:work --tries=3')
            ->cron('* * * * * *')
            ->withoutOverlapping();
        }

这就是我在cpanel中配置的cron,以便它每分钟运行一次:

/usr/local/bin/php /home/user/myweb/artisan schedule:run >> /dev/null 2>&1

1 个答案:

答案 0 :(得分:2)

->cron('* * * * * *')是您的问题。

Cron期望使用五个值-分钟,小时,每月的某天,每月和一周的某天。您已经提供了第六个,但它不知道如何处理。

将其更改为->cron('* * * * *')(或为了获得更好的可读性,请更改为->everyMinute()),一切就绪。

相关问题