пользовательская команда laravel не указана

Я создал пользовательскую команду под названием confirmUserCommand с именем файла, соответствующим имени класса (тот же случай). Для $name установлено значение confirmuser.

Выполнение команды php artisan list отображает новую команду на моем локальном компьютере, но не на сервере (на котором работает Linux). Я выполнил автозагрузку дампа композитора и обновил соответствующие файлы композитора безрезультатно.

Любые предложения, пожалуйста?


person maximus 69    schedule 06.02.2015    source источник
comment
См. мой ответ на этот вопрос: stackoverflow.com/a/35247944/241279 Может быть, это поможет.   -  person glaucomorais    schedule 07.02.2016


Ответы (4)


Ларавель 5.2 ~ 5.5:

Создайте свою команду и отредактируйте

   protected $signature = 'order:check'; //or whatever you want your command to be

Вам нужно будет найти, где создаются команды, и отредактировать файл app\Console\kernel.php.

в этом файле под

protected $commands = [
    \App\Console\Commands\OrderCheck::class,
]

бежать снова

 php artisan list 

Там должно быть указано :)

person A H Bensiali    schedule 11.01.2017
comment
Я не понимаю, почему это не указано в руководстве Laravel. Спасибо! - person George Mylonas; 11.01.2018

Просто рвал на себе волосы и обнаружил проблему..

Для того, чтобы перечислить ремесленные команды, включая пользовательские, вы должны вызвать системный интерпретатор CLI PHP, в частности вызов PHP.

php artisan list : перечислит все команды, как и ожидалось, но не созданные вами пользовательские команды.

php-cli artisan list: список всех команд, включая созданные пользовательские команды.

Надеюсь, это поможет кому-то и спасет их волосы :)

person maximus 69    schedule 06.02.2015

Начиная с версии laravel 5.6 вам не нужно вводить свою пользовательскую команду в kernel.php.

person YDF    schedule 27.12.2018

Чтобы он появился в списке php artisan, вам нужно добавить его в файл App/http/Kernel.php конкретно в массив команд:

 protected $commands = [
   'App\Console\CreateSlugsCommand',....
];

После этого вы можете запустить в своей консоли php artisan list, и вы увидите пользовательскую команду.

person Luis Mata B.    schedule 19.03.2018