^ think\exception\HttpException {#81
  -statusCode: 404
  -headers: []
  #message: "controller not exists:\think\app"
  #code: 0
  #file: "/usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/route/dispatch/Url.php"
  #line: 62
  trace: {
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/route/dispatch/Url.php:62 {
      think\route\dispatch\Url->parseUrl(string $url): array …
      › if ($controller && !preg_match('/^[A-Za-z0-9][\w|\.]*$/', $controller)) {    throw new HttpException(404, 'controller not exists:' . $controller);}
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/route/dispatch/Url.php:31 {
      think\route\dispatch\Url->__construct(Request $request, Rule $rule, $dispatch) …
      › // 解析默认的URL规则$dispatch = $this->parseUrl($dispatch);arguments: {
        $url: "\think\app|invokefunction"
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Route.php:827 {
      think\Route->url(string $url): Dispatch …
      › 
      ›     return new UrlDispatch($this->request, $this->group, $url);}
      arguments: {
        $request: app\Request {#29 …}
        $rule: think\route\Domain {#77 …}
        $dispatch: "\think\app|invokefunction"
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Route.php:785 {
      think\Route->check() …
      › 
      ›     return $this->url($url);}
      arguments: {
        $url: "\think\app|invokefunction"
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Route.php:745 {
      think\Route->dispatch(Request $request, Closure|bool $withRoute = true) …
      ›     }    $dispatch = $this->check();} else {
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Http.php:208 {
      think\Http->dispatchToRoute($request) …
      › 
      ›     return $this->app->route->dispatch($request, $withRoute);}
      arguments: {
        $request: app\Request {#29 …}
        $withRoute: Closure() {#69 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Http.php:198 {
      think\Http->think\{closure} …
      › ->then(function ($request) {    return $this->dispatchToRoute($request);});
      arguments: {
        $request: app\Request {#29 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:59 {
      think\Pipeline->think\{closure} …
      › try {    return $destination($passable);} catch (Throwable | Exception $e) {
      arguments: {
        app\Request {#29 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/think-multi-app/src/MultiApp.php:51 {
      think\app\MultiApp->think\app\{closure} …
      › ->then(function ($request) use ($next) {    return $next($request);});
      arguments: {
        app\Request {#29 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:59 {
      think\Pipeline->think\{closure} …
      › try {    return $destination($passable);} catch (Throwable | Exception $e) {
      arguments: {
        app\Request {#29 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:66 {
      think\Pipeline->then(Closure $destination) …
      › 
      ›     return $pipeline($this->passable);}
      arguments: {
        app\Request {#29 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/think-multi-app/src/MultiApp.php:52 {
      think\app\MultiApp->handle($request, Closure $next) …
      ›             return $next($request);        });}
      arguments: {
        $destination: Closure($request) {#45 …}
      }
    }
    think\app\MultiApp->handle() {}
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Middleware.php:134 {
      think\Middleware->think\{closure} …
      › }$response = call_user_func($call, $request, $next, ...$params);arguments: {
        $callback: array:2 [ …2]
        ...$args: {
          app\Request {#29 …}
          Closure($passable) {#43 …}
        }
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:85 {
      think\Pipeline->think\{closure} …
      › try {    return $pipe($passable, $stack);} catch (Throwable | Exception $e) {
      arguments: {
        app\Request {#29 …}
        Closure($passable) {#43 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/app/common/middleware/CrossReq.php:19 {
      app\common\middleware\CrossReq->handle($request, Closure $next) …
      › 
      ›     return $next($request);}
      arguments: {
        app\Request {#29 …}
      }
    }
    app\common\middleware\CrossReq->handle() {}
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Middleware.php:134 {
      think\Middleware->think\{closure} …
      › }$response = call_user_func($call, $request, $next, ...$params);arguments: {
        $callback: array:2 [ …2]
        ...$args: {
          app\Request {#29 …}
          Closure($passable) {#43 …}
        }
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:85 {
      think\Pipeline->think\{closure} …
      › try {    return $pipe($passable, $stack);} catch (Throwable | Exception $e) {
      arguments: {
        app\Request {#29 …}
        Closure($passable) {#43 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/thans/tp-jwt-auth/src/middleware/InjectJwt.php:14 {
      thans\jwt\middleware\InjectJwt->handle(Request $request, $next) …
      › (new JWTProvider($request))->init();$response = $next($request);return $response;
      arguments: {
        app\Request {#29 …}
      }
    }
    thans\jwt\middleware\InjectJwt->handle() {}
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Middleware.php:134 {
      think\Middleware->think\{closure} …
      › }$response = call_user_func($call, $request, $next, ...$params);arguments: {
        $callback: array:2 [ …2]
        ...$args: {
          app\Request {#29 …}
          Closure($passable) {#43 …}
        }
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:85 {
      think\Pipeline->think\{closure} …
      › try {    return $pipe($passable, $stack);} catch (Throwable | Exception $e) {
      arguments: {
        app\Request {#29 …}
        Closure($passable) {#43 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/think-trace/src/TraceDebug.php:71 {
      think\trace\TraceDebug->handle($request, Closure $next) …
      › 
      › $response = $next($request);arguments: {
        app\Request {#29 …}
      }
    }
    think\trace\TraceDebug->handle() {}
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Middleware.php:134 {
      think\Middleware->think\{closure} …
      › }$response = call_user_func($call, $request, $next, ...$params);arguments: {
        $callback: array:2 [ …2]
        ...$args: {
          app\Request {#29 …}
          Closure($passable) {#43 …}
        }
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:85 {
      think\Pipeline->think\{closure} …
      › try {    return $pipe($passable, $stack);} catch (Throwable | Exception $e) {
      arguments: {
        app\Request {#29 …}
        Closure($passable) {#43 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Pipeline.php:66 {
      think\Pipeline->then(Closure $destination) …
      › 
      ›     return $pipeline($this->passable);}
      arguments: {
        app\Request {#29 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Http.php:199 {
      think\Http->runWithRequest(Request $request) …
      ›             return $this->dispatchToRoute($request);        });}
      arguments: {
        $destination: Closure($request) {#19 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/vendor/topthink/framework/src/think/Http.php:162 {
      think\Http->run(Request $request = null): Response …
      › try {    $response = $this->runWithRequest($request);} catch (Throwable $e) {
      arguments: {
        $request: app\Request {#29 …}
      }
    }
    /usr/share/nginx/html/img.szhulian.cn/public/index.php:20 {
      › 
      › $response = $http->run();}
  }
}