Я пытаюсь создать приложение для чата в реальном времени, используя Pusher, на основе учебника, найденного здесь: https://pusher -community.github.io / real-time-laravel / chat / chat.html
Локально (Windows), кажется, все работает нормально, однако, когда я пытаюсь развернуть его на сервере Linux, все работает не так хорошо, и я получаю следующую ошибку:
Class pusher does not exist {"exception":"[object] (ReflectionException(code: -1): Class pusher does not exist at /home/tgbinfo/public_html/system/applications/erp2/example/vendor/laravel/framework/src/Illuminate/Container/Container.php:779)
[stacktrace]
#0 /home/tgbinfo/public_html/system/applications/erp2/example/vendor/laravel/framework/src/Illuminate/Container/Container.php(779): ReflectionClass->__construct('pusher')
#1 /home/tgbinfo/public_html/system/applications/erp2/example/vendor/laravel/framework/src/Illuminate/Container/Container.php(658): Illuminate\\Container\\Container->build('pusher')
#2 /home/tgbinfo/public_html/system/applications/erp2/example/vendor/laravel/framework/src/Illuminate/Container/Container.php(609): Illuminate\\Container\\Container->resolve('pusher', Array)
#3 /home/tgbinfo/public_html/system/applications/erp2/example/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(759): Illuminate\\Container\\Container->make('pusher', Array)
#4 /home/tgbinfo/public_html/system/applications/erp2/example/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(237): Illuminate\\Foundation\\Application->make('pusher')
#5 /home/tgbinfo/public_html/system/applications/erp2/example/app/Http/Controllers/ChatController.php(23): Illuminate\\Support\\Facades\\Facade::__callStatic('make', Array)
#6 [internal function]: App\\Http\\Controllers\\ChatController->__construct()
Вызвано методом конструкции ChatController, в частности строки App: make ('pusher'):
public function __construct()
{
$this->pusher = App::make('pusher');
$this->user = Session::get('user');
$this->chatChannel = self::DEFAULT_CHAT_CHANNEL;
}
В Javascript все по-прежнему хорошо, я все еще получаю правильные сообщения для подключения к Pusher.
Pusher : State changed : connecting -> connected with new socket ID ####
Pusher : Event sent : {"event":"pusher:subscribe","data":{"channel":"chat-1429-3653"}}
Я читал в интернете и уже пробовал некоторые из следующих вещей:
- Используйте chmod 777 в папке начальной загрузки / кэша.
- Композитор дамп-автозагрузка
- Очистить кеш и конфиги ремесленника
- Переустановлен толкатель с использованием композитора
- Проверен на различия в .env-файле локально и на сервере, они идентичны
- Добавлен 'Pusher' => Pusher \ Pusher :: class для псевдонимов в app.php
Соответствующий .env-код:
BROADCAST_DRIVER=pusher
Composer.json:
"pusher/pusher-http-laravel": "^4.2",
broadcasting.php:
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env( 'PUSHER_APP_CLUSTER' ),
'encrypted' => false,
],
],
Есть идеи, как я могу решить эту ошибку?