php laravel cron cpanel laravel-5.1

php - ¿Cómo ejecutar el cronograma de comandos artesanal: ejecutar en el servidor de alojamiento?(Laravel 5.1)



cpanel laravel-5.1 (2)

Primero creo el archivo statusUpdate.php en la carpeta xampp / htdocs / project / app / Console / Commands.

statusUpdate.php:

<?php namespace App/Console/Commands; use Illuminate/Console/Command; use DB; class statusUpdate extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = ''status:update''; /** * The console command description. * * @var string */ protected $description = ''Update Job status daily''; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { $affected = DB::table(''jobs'')->update(array(''status'' => 1)); } }

Se creó mediante la siguiente documentación oficial de Laravel5. Luego agrego /App/Console/Commands/statusUpdate::class, class en Kernel.php en la carpeta xampp / htdocs / project / app / Console.

Aquí está el ejemplo de código de archivo karnel.php:

<?php namespace App/Console; 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 = [ /App/Console/Commands/statusUpdate::class, ]; /** * Define the application''s command schedule. * * @param /Illuminate/Console/Scheduling/Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $schedule->command(''status:update'') ->everyFiveMinutes(); } }

Entonces corro

cronograma de php artesanal: ejecute usando CMD en Windows 7.

Ahora funciona bien. El campo de estado de mi tabla de trabajos se actualiza correctamente por 1.

Pero cuando uso este proyecto en el alojamiento compartido agregué una entrada de Cron a mi servidor en cPanel:

El comando de trabajo Cron es así: php /path/to/artisan schedule:run 1>> /dev/null 2>&1

Ahora, en este caso, el comando no funciona y este es el problema. ¿Cómo puedo resolverlo?


Bien. Te estoy dando la respuesta según lo que has dicho.

El comando de trabajo Cron es así: php /path/to/artisan schedule:run 1>> /dev/null 2>&1

La ruta debe ubicar el archivo artesanal en el servidor. Me gusta esto:

Digamos que la ubicación de su archivo artesanal es /var/www/artisan , entonces la respuesta simple podría hacerse así:

php /var/www/artisan schedule:run 1>> /dev/null 2>&1

Solo verifica si eso funciona. ¡Gracias!

ACTUALIZAR :

Así es como debería verse.


Esto funcionó bien para mi

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