Запуск Artisan Command из контроллера laravel 4.2

Я пытаюсь выполнить некоторую пользовательскую команду ремесленника с контроллера, например

Artisan::call('php artisan MyCustomCommand');

но он отлично работает, когда я выполняю

php artisan MuCustomCommand from CLI.

Я прописал команду в app/start/artisan.php. Даже Artisan::call('php artisan --help'); не работает.


person suresh726    schedule 01.02.2016    source источник
comment
вы видите свою пользовательскую команду при запуске php artisan ??   -  person Drudge Rajen    schedule 01.02.2016
comment
да, моя пользовательская команда есть в списке команд.   -  person suresh726    schedule 01.02.2016
comment
у тебя ошибка или что??   -  person Drudge Rajen    schedule 01.02.2016
comment
Я думаю, что с помощью laravel 4.2 вы не сможете запустить команду через код. Поскольку их документация также не показывает никакой информации, связанной с этим. Поскольку код, который вы использовали, доступен в laravel 5.1 и 5.2, где вы должны зарегистрировать свою команду в файле app/Console/Kernel.php.   -  person Alankar More    schedule 01.02.2016
comment
Когда Artisan::call('php artisan MyCustomCommand') выполняется, он возвращает команду InvalidArgumentException. php artisan CustomCommand не определен.   -  person suresh726    schedule 01.02.2016
comment
Для этой ошибки зарегистрирован ваш класс CustomCommand в файле app.php, например. View, Request, Sessions имеют псевдонимы.   -  person Alankar More    schedule 01.02.2016
comment
@suresh726 Suresh726 ты проверил ответ ???   -  person Drudge Rajen    schedule 01.02.2016


Ответы (1)


Вы должны запустить команду artisan, подобную этой, с вашего контроллера. Пример :

 Artisan::call('migrate:install');

Итак, вместо того, чтобы делать Artisan::call('php artisan MyCustomCommand');

Ты должен сделать

Artisan::call('MyCustomCommand');

Вот документация

Надеюсь, поможет :)

person Drudge Rajen    schedule 01.02.2016