Недопустимый аргумент, предоставленный для foreach() в задании Laravel Schedular
Я работаю с Schedular
в Laravel 5.8
. после настройки Commands
и Command Kernal
я получаю ошибку как,
Недопустимый аргумент, предоставленный для foreach () в /home/SERVER_USER_NAME/public_html/vendor/symfony/console/Input/ArgvInput.php: 261)
Вот Kernal
Вот мой protected $commands = [
Commands\OfferMonitor::class,
Commands\RankingCommand::class,
Commands\CreditCycle::class,
];
protected function schedule(Schedule $schedule)
{
$schedule->command('KG:OfferMonitor')->dailyAt('01:00');
$schedule->command('KG:UpdateRanks')->everyTenMinutes();
$schedule->command('KG:CreditCycle')->dailyAt('00:00');
}
работает на рабочем сервере,
Я думаю, что сама работа cron выдает ошибку, я использую Laravel Cron Job
binary вместо php
. Это вызвало ошибку? если да, то как обойти эту проблему?
Вот полный лог ошибки и трассировка стека с фреймворк Laravel,
php-cli
Примечание:
Invalid argument supplied for foreach() {"exception":"[object] (ErrorException(code: 0): Invalid argument supplied for foreach() at /home/SERVER_USER_NAME/public_html/vendor/symfony/console/Input/ArgvInput.php:261) [stacktrace] #0 /home/SERVER_USER_NAME/public_html/vendor/symfony/console/Input/ArgvInput.php(261): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'Invalid argumen...', '/home/SERVER_USER_NAME...', 261, Array) #1 /home/SERVER_USER_NAME/public_html/vendor/symfony/console/Application.php(970): Symfony\\Component\\Console\\Input\\ArgvInput->getFirstArgument() #2 /home/SERVER_USER_NAME/public_html/vendor/laravel/framework/src/Illuminate/Console/Application.php(81): Symfony\\Component\\Console\\Application->getCommandName(Object(Symfony\\Component\\Console\\Input\\ArgvInput)) #3 /home/SERVER_USER_NAME/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(133): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) #4 /home/SERVER_USER_NAME/public_html/artisan(36): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput)) #5 {main} "}
, запланированные вCommands
работает правильно, когда я использую их сKernal.php
из терминала,поэтому нет никаких проблем с командой.
Ответы - Недопустимый аргумент, предоставленный для foreach() в задании Laravel Schedular / Invalid argument supplied for foreach() in Laravel Schedular Job


cron
(согласно данным в Docs). В другом проекте та же процедура работает хорошо.

17.01.2020 03:20:01
Попробуйте установить register_argc_argv (ini config var) как 1, используя флаг-d
php -d register_argc_argv=1 artisan schedule:run >> /dev/null 2>&1