我想从函数运行php artisan passport:client --password
。
我尝试了Artisan::call('passport:client');
和Artisan::command('passport:client');
,但它返回undefined command
注意:我已经安装了laravel passport,命令在终端上正常工作
答案 0 :(得分:5)
我找到了它,在boot()
的{{1}}方法中,有一个检查基本上阻止了它从PassportServiceProvider
调用。
Artisan::call
使其适用于一般工匠命令,我们可以自己注册这些命令。也许在//PassportServiceProvider.php at line 37:
if ($this->app->runningInConsole()) {
$this->commands([
Console\InstallCommand::class,
Console\ClientCommand::class,
Console\KeysCommand::class,
]);
...
}
的引导方法中的某个地方。
AuthServiceProvider
现在我们可以调用public function boot() {
$this->commands([
Console\InstallCommand::class,
Console\ClientCommand::class,
Console\KeysCommand::class,
]);
}
或其他2个命令。
答案 1 :(得分:1)
来自Laravel Docs
Route::get('/foo', function () {
$exitCode = Artisan::call('email:send', [
'user' => 1, '--queue' => 'default'
]);
//
});