Tengo un programador de configuración de acuerdo con la documentación de Laravel 5.4. Pero no funciona.
Mi trabajo cron es:
* * * * * php public_html/demo/artisan schedule:run 1>> logs/cronlog.txtaplicación/consola/ Kernel.php :
class Kernel extends ConsoleKernel { protected $commands = [Commands\OverdueTasksNotifier::class,]; protected function schedule(Schedule $schedule) { $schedule->command('notify:overduetasks')->everyFiveMinutes(); } protected function commands() { require base_path('routes/console.php'); } }aplicación/Consola/Comandos/ OverdueTasksNotifier.php :
class OverdueTasksNotifier extends Command { protected $signature = 'notify:overduetasks'; protected $description = 'Sends alerts (email, sms) for un-Ready overdue tasks.'; public function __construct() { parent::__construct(); } public function handle() { echo 'test'; } }y el cronlog.txt tiene:
[ErrorException] Invalid argument supplied for foreach() Content-type: text/html; charset=UTF-8y el texto anterior se repite cada minuto.
Ejecuté la php artisan list y enumera el comando agregado arriba, que es notify:overduetasks .
¿Alguien podría indicarme dónde está el error? Uso alojamiento compartido (cPanel).
----- ACTUALIZAR -----
debug habilitada y laravel.log es:
[2017-04-29 21:02:02] local.ERROR: exception 'ErrorException' with message 'Invalid argument supplied for foreach()' in /home/serverhostcom/public_html/demo/vendor/symfony/console/Input/ArgvInput.php:284 Stack trace: #0 /home/serverhostcom/public_html/demo/vendor/symfony/console/Input/ArgvInput.php(284): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Invalid argumen...', '/home/serverhos...', 284, Array) #1 /home/serverhostcom/public_html/demo/vendor/symfony/console/Application.php(764): Symfony\Component\Console\Input\ArgvInput->hasParameterOption(Array, true) #2 /home/serverhostcom/public_html/demo/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->configureIO(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #3 /home/serverhostcom/public_html/demo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(123): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #4 /home/serverhostcom/public_html/demo/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #5 {main}Descubrí que era un error tipográfico en las rutas a php y craft.
/usr/local/bin/php /home/[USERNAME]/public_html/artisan schedule:run >> /dev/null 2>&1Ahora el programador de tareas se ejecuta correctamente.