zoukankan      html  css  js  c++  java
  • Laravel配置Route调用artisan

        //web调用artisan
        Route::get('/artisan', function(IlluminateHttpRequest $request) {
            $all = IlluminateSupportFacadesArtisan::all();
            $cmd = $request->get('cmd', '');
            if (empty($cmd) or !isset($all[$cmd])) {
                return response()->make('404 Not Found', 404);
            }
            // key => value
            $params = [];
            foreach ($request->query() as $k => $v) {
                if ($k == 'cmd') {
                    continue;
                }
                if (is_numeric($k)) {
                    $params[] = $k;
                    continue;
                }
                $params['--'.$k] = $v;
            }
            IlluminateSupportFacadesArtisan::call($cmd, $params);
    
            return response()->make('done');
        });
    

    比如有artisan console任务

    class SystemMail extends Command
    {
        protected $signature = 'system_mail_send {--email=}';
    }
    

    Web调用方法

    http://www.host.com/route/artisan?cmd=system_mail_send&email=abc@qq.com
    
    • 哈哈,超级入口,只是不支持artisan的argument,只支持option

    为安全防范,可以在route加入JWT的token验证

  • 相关阅读:
    MySQl的绑定变量特性
    数数 / DP
    MODE
    题单
    对拍
    二、图论
    sync_with_stdio(false)的副作用
    九大编程语言
    Codeforces Round #575 (Div. 3) A B C
    Educational Codeforces Round 69 (Rated for Div. 2) A B C D
  • 原文地址:https://www.cnblogs.com/imbin/p/12599060.html
Copyright © 2011-2022 走看看