Laravel,从 php 调用 Artisan 不同于命令行
Laravel, call Artisan from php differs from command line
我有一个调用 Artisan facade 来执行的路由:
Artisan::call('queue:work --once');
然后我得到:
但这很奇怪,因为在命令行中,如果我这样做:
php artisan queue:work --once
一切正常:
我可以使用其他路由来调用例如:
Artisan::call('config:clear');
并且工作正常。有什么想法吗?
以--开头的选项值未传递给字符串
你可以试试 :
Artisan::call('queue:work', ['--once' => true]);
要从代码中调用 artisan 命令并传递一些选项,您需要将数组用作 Artisan::call()
的第二个参数
像这样:
Artisan::call('queue:work', ['--once' => true]); // or whatever options you need
Laravel 5.8 介绍了这种调用 artisan 命令的新方法:
Artisan::call('queue:work --once');
在以前的版本中使用这个:
Artisan::call('queue:work', ['--once' => true]);
我有一个调用 Artisan facade 来执行的路由:
Artisan::call('queue:work --once');
然后我得到:
但这很奇怪,因为在命令行中,如果我这样做:
php artisan queue:work --once
一切正常:
我可以使用其他路由来调用例如:
Artisan::call('config:clear');
并且工作正常。有什么想法吗?
以--开头的选项值未传递给字符串 你可以试试 :
Artisan::call('queue:work', ['--once' => true]);
要从代码中调用 artisan 命令并传递一些选项,您需要将数组用作 Artisan::call()
的第二个参数像这样:
Artisan::call('queue:work', ['--once' => true]); // or whatever options you need
Laravel 5.8 介绍了这种调用 artisan 命令的新方法:
Artisan::call('queue:work --once');
在以前的版本中使用这个:
Artisan::call('queue:work', ['--once' => true]);