Laravel 5.2 Cron not working on centos

When I try to run Task Schedular on localhost (php version: PHP 5.6.4-4ubuntu6.4 (cli)), it works fine.

crontab

* * * * * php /home/aishatest/public_html/Aisha/Aisha/artisan schedule:run >> /dev/null 2>&1 

Application / Console / Kernel.php

 <?php namespace App\Console; use App\Console\Commands\CheckOutfitAvailibilityCommand; use App\Http\Controllers\OutfitCronController; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ // Commands\Inspire::class, CheckOutfitAvailibilityCommand::class ]; /** * Define the application command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { \Log::error("Kernel"); //$schedule->command('inspire') // ->everyMinute(); $schedule->command('CheckOutfitCommand')->cron('* * * * *'); } } 

App / Console / Command / CheckOutfitAvailibilityCommand.php

 <?php namespace App\Console\Commands; use App\Http\Controllers\OutfitCronController; use Illuminate\Console\Command; class CheckOutfitAvailibilityCommand extends Command { /** * The name and signature of the console command. * * @var string */ private $outfitCronController; protected $signature = 'CheckOutfitCommand'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Create a new command instance. * * @return void */ public function __construct(OutfitCronController $outfitCronController) { parent::__construct(); $this->outfitCronController = $outfitCronController; } /** * Execute the console command. * * @return mixed */ public function handle() { // \Log::error("command handle"); $this->outfitCronController->checkOutfitAvailability(); } } 

But when I try to run on CentOs Server (php version PHP 5.6.26 (cli)), it gives an error following

./storage/logs/laravel.log

 [2016-09-22 05:54:02] local.ERROR: Kernel [2016-09-22 05:54:05] local.ERROR: exception 'ErrorException' with message 'Invalid argument supplied for foreach()' in /home/aishatest/public_html/Aisha/Aisha/vendor/symfony/console/Input/ArgvInput.php:281 Stack trace: #0 /home/aishatest/public_html/Aisha/Aisha/vendor/symfony/console/Input/ArgvInput.php(281): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Invalid argumen...', '/home/aishatest...', 281, Array) #1 /home/aishatest/public_html/Aisha/Aisha/vendor/symfony/console/Application.php(743): Symfony\Component\Console\Input\ArgvInput->hasParameterOption(Array, true) #2 /home/aishatest/public_html/Aisha/Aisha/vendor/symfony/console/Application.php(114): Symfony\Component\Console\Application->configureIO(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #3 /home/aishatest/public_html/Aisha/Aisha/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #4 /home/aishatest/public_html/Aisha/Aisha/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #5 {main} 

And if I try to execute the command below manually in the terminal, then it works fine.

 php /home/aishatest/public_html/Aisha/Aisha/artisan schedule:run 

I tried to find a solution, but could not find it.

+5
source share
1 answer

use absolute path for php

/ usr / local / bin / php / path / to / artisan schedule: run -> / dev / null 2> & 1

I had the same problem. The cron tasks in the schedule () function of the kernel were executed, but at any time when I tried to call the console command, it throws an exception.

+1
source

All Articles