hhxsv5 / laravel-s

LaravelS is an out-of-the-box adapter between Laravel/Lumen and Swoole.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unresolvable dependency resolving [Parameter #0 [ <required> $host ]] in class Swoole\Server

huiyonghkw opened this issue · comments

  1. Your software version (Screenshot of your startup)

    Software Version
    PHP 7.4
    Swoole 4.8
    Laravel/Lumen 8.75
  2. Detail description about this issue(error/log)

[2023-03-01 23:05:01] local.ERROR: Unresolvable dependency resolving [Parameter #0 [ <required> $host ]] in class Swoole\Server {"exception":"[object] (Illuminate\\Contracts\\Container\\BindingResolutionException(code: 0): Unresolvable dependency resolving [Parameter #0 [ <required> $host ]] in class Swoole\\Server at /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Container/Container.php:1104)
[stacktrace]
#0 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(1011): Illuminate\\Container\\Container->unresolvablePrimitive(Object(ReflectionParameter))
#1 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(946): Illuminate\\Container\\Container->resolvePrimitive(Object(ReflectionParameter))
#2 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(908): Illuminate\\Container\\Container->resolveDependencies(Array)
#3 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(758): Illuminate\\Container\\Container->build('Swoole\\\\WebSocke...')
#4 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(851): Illuminate\\Container\\Container->resolve('Swoole\\\\WebSocke...', Array, true)
#5 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(694): Illuminate\\Foundation\\Application->resolve('Swoole\\\\WebSocke...', Array)
#6 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(836): Illuminate\\Container\\Container->make('Swoole\\\\WebSocke...', Array)
#7 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php(79): Illuminate\\Foundation\\Application->make('Swoole\\\\WebSocke...')
#8 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php(48): Illuminate\\Routing\\ControllerDispatcher->transformDependency(Object(ReflectionParameter), Array, Object(stdClass))
#9 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php(28): Illuminate\\Routing\\ControllerDispatcher->resolveMethodDependencies(Array, Object(ReflectionMethod))
#10 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(41): Illuminate\\Routing\\ControllerDispatcher->resolveClassMethodDependencies(Array, Object(App\\Http\\Controllers\\Api\\FaPiao\\AuthController), 'broadcast')
#11 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\Api\\FaPiao\\AuthController), 'broadcast')
#12 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#13 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Route->run()
#14 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#23 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /var/www/cczhaoche/laravel-api-app/vendor/fruitcake/laravel-cors/src/HandleCors.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /var/www/cczhaoche/laravel-api-app/vendor/fruitcake/laravel-cors/src/HandleCors.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#53 /var/www/cczhaoche/laravel-api-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#54 /var/www/cczhaoche/laravel-api-app/vendor/hhxsv5/laravel-s/src/Illuminate/Laravel.php(153): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#55 /var/www/cczhaoche/laravel-api-app/vendor/hhxsv5/laravel-s/src/LaravelS.php(250): Hhxsv5\\LaravelS\\Illuminate\\Laravel->handleDynamic(Object(Illuminate\\Http\\Request))
#56 /var/www/cczhaoche/laravel-api-app/vendor/hhxsv5/laravel-s/src/LaravelS.php(201): Hhxsv5\\LaravelS\\LaravelS->handleDynamicResource(Object(Hhxsv5\\LaravelS\\Illuminate\\Laravel), Object(Illuminate\\Http\\Request), Object(Swoole\\Http\\Response))
#57 [internal function]: Hhxsv5\\LaravelS\\LaravelS->onRequest(Object(Swoole\\Http\\Request), Object(Swoole\\Http\\Response))
#58 /var/www/cczhaoche/laravel-api-app/vendor/hhxsv5/laravel-s/src/Swoole/Server.php(413): Swoole\\Server->start()
#59 /var/www/cczhaoche/laravel-api-app/vendor/hhxsv5/laravel-s/src/Console/Portal.php(158): Hhxsv5\\LaravelS\\Swoole\\Server->run()
#60 /var/www/cczhaoche/laravel-api-app/vendor/hhxsv5/laravel-s/src/Console/Portal.php(59): Hhxsv5\\LaravelS\\Console\\Portal->start()
#61 /var/www/cczhaoche/laravel-api-app/vendor/symfony/console/Command/Command.php(298): Hhxsv5\\LaravelS\\Console\\Portal->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#62 /var/www/cczhaoche/laravel-api-app/bin/laravels(167): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#63 {main}
"} 

  1. Some reproducible code blocks and steps

控制器中方法

public function broadcast(Server $server)
 {
     $fd = 1; // Find fd by userId from a map [userId=>fd].
     /**@var \Swoole\WebSocket\Server $swoole */
     $swoole = app('swoole');
     $success = $swoole->push($fd, 'Push data to fd#1 in Controller');
return $success;
}
 ```

浏览器运行 http://127.0.0.1:1215/broadcast