как побороть?
Illuminate\Contracts\Container\BindingResolutionException: Target class [swoole.websocket] does not exist. in file /www/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 891
#0 /www/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\Container\Container->build('swoole.websocke...')
#1 /www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(856): Illuminate\Container\Container->resolve('swoole.websocke...', Array, true)
#2 /www/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\Foundation\Application->resolve('swoole.websocke...', Array)
#3 /www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(841): Illuminate\Container\Container->make('swoole.websocke...', Array)
#4 /www/vendor/laravel/framework/src/Illuminate/Container/Container.php(1431): Illuminate\Foundation\Application->make('swoole.websocke...')
#5 /www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(222): Illuminate\Container\Container->offsetGet('swoole.websocke...')
#6 /www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(193): Illuminate\Support\Facades\Facade::resolveFacadeInstance('swoole.websocke...')
#7 /www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(332): Illuminate\Support\Facades\Facade::getFacadeRoot()
Использую swoole-laravel (use SwooleTW\Http\Websocket\Facades\Websocket;)
Пробую отправить сообщение по вебсокету, типа:
Websocket::broadcast()->emit('message', $message->payload);
и получаю обозначенную ошибку
С другим пакетом получаю аналогичную ошибку (Target class [swoole] does not exist)
swoole расширение установлено, сервер запущен, клиенты подключаются (из веб браузера, и websockat тоже)
А вот отправить с бэкенда из PHP по вебсокету не могу...
а сервер через что запущен ? php artisan serve , nginx ? и что значит с бакенда, из джобы ? которая php artisan queue:work - так она ничего и не знает про коннекты ВС. WS есть только в текущем коннекте пользователя и его FD можно сохранить в свуль тейбл или редис , и потом посылать пользователю "сообщеньки"
фасад в контейнере не забиндился
Nginx в докере Из контроллера Да, с коннектом вопрос — здесь я пока не совсем понял Но проблема, похоже, в том, что "фасад в контейнере не забиндился", как пишет Даниил ниже Вот почему он не забиндился и как его забиндить — главный вопрос
Да, видимо так Но не подскажите, как решить эту проблему? Что-то до меня воообще не доходит
composer dump попробуй
Нет, не помогает
Обсуждают сегодня