【发布时间】:2019-07-24 07:37:33
【问题描述】:
我有一个调用 Artisan 门面执行的路由:
Artisan::call('queue:work --once');
我得到:
但这很奇怪,因为在命令行中,如果我这样做:
php artisan queue:work --once
一切正常:
我可以使用其他路由调用例如:
Artisan::call('config:clear');
而且工作正常。有什么想法吗?
【问题讨论】:
我有一个调用 Artisan 门面执行的路由:
Artisan::call('queue:work --once');
我得到:
但这很奇怪,因为在命令行中,如果我这样做:
php artisan queue:work --once
一切正常:
我可以使用其他路由调用例如:
Artisan::call('config:clear');
而且工作正常。有什么想法吗?
【问题讨论】:
以 -- 开头的选项值不会传递给字符串 你可以试试:
Artisan::call('queue:work', ['--once' => true]);
【讨论】:
Laravel 5.8 引入了这种调用工匠命令的新方法:
Artisan::call('queue:work --once');
在以前的版本中使用这个:
Artisan::call('queue:work', ['--once' => true]);
【讨论】:
要从代码中调用 artisan 命令并传递一些选项,您需要使用数组作为 Artisan::call() 的第二个参数
像这样:
Artisan::call('queue:work', ['--once' => true]); // or whatever options you need
【讨论】: