Laravel 5 通过URL调用Artisan命令
在我的路线上,我有Laravel 5 通过URL调用Artisan命令,laravel-5,laravel-artisan,Laravel 5,Laravel Artisan,在我的路线上,我有 Route::get('artisan/{command}/{param}', 'CacheController@show'); 在我的控制器里我有 public function show($id, $param) { $artisan = Artisan::call($id,['flag'=>$param]); $output = Artisan::output(); return $output; } 我希望能够通过访问domain.c
Route::get('artisan/{command}/{param}', 'CacheController@show');
在我的控制器里我有
public function show($id, $param)
{
$artisan = Artisan::call($id,['flag'=>$param]);
$output = Artisan::output();
return $output;
}
我希望能够通过访问domain.com/artisan/cache/clear
或route/cache
调用route:cache
和cache:clear
,但当我调用它们时,它返回类似的结果
public function show($command, $param) {
$artisan = Artisan::call($command,['flag'=>$param]);
$output = Artisan::output();
return $output;
}
未定义命令“缓存”
它只调用了缓存,而不是
cache:clear
有什么可能出错?如下修改代码:
$artisan = \Artisan::call($command.":".$param);
$output = \Artisan::output();
return $output;
标志参数用于传递artisan命令的参数 当您调用
命令时,您正在调用id
所以你的函数应该是这样的
public function show($command, $param) {
$artisan = Artisan::call($command,['flag'=>$param]);
$output = Artisan::output();
return $output;
}
因此,您的URL可以如下所示domain.com/artisan/cache/clear
,这意味着您正在调用此路由
Route::get('artisan/{command}/{param}', 'CacheController@show');
所以你需要$command
intead的$id
也许你能帮我。看看这个::|您只更改了变量名!我的问题是一样的,但你的答案并没有解决