Базовый путь панели управления Laravel Websockets с подпапкой, которая не работаетPhp

Кемеровские программисты php общаются здесь
Ответить
Гость
 Базовый путь панели управления Laravel Websockets с подпапкой, которая не работает

Сообщение Гость »


Я новичок в вещании/веб-сокетах и ​​пытаюсь настроить Laravel Websockets и pusher.

Используя мой subdomain.example.com, я могу заставить subdomain.example.com/laravel-websockets работать, и события будут отображаться на экране, когда я запускаю их с помощью php. ремесленник-тинкер, и когда я создаю событие на странице. Однако мне нужна эта работа внутри пути subdomain.example.com/api/laravel-websockets

Когда я пробую URL-адрес с помощью /api, хотя он загружает панель мониторинга, как и ожидалось, ему не удается подключиться, и, глядя на консоль, я вижу, что он игнорирует /api > в своих запросах, например. для аутентификации: http://subdomain.example.com/laravel-websockets/auth вместо http://subdomain.example.com/api/larave ... ckets/auth >. Это касается всего, что есть в консоли. Даже когда я редактирую запрос в консоли, чтобы добавить /api, он работает.

Можно ли где-нибудь изменить базовый путь?

Вот мой файл .env:

APP_URL=http://subdomain.example.com/api/ LOG_CHANNEL=ежедневно BROADCAST_DRIVER=толкатель CACHE_DRIVER=файл SESSION_DRIVER=файл QUEUE_DRIVER=синхронизировать REDIS_HOST=127.0.0.1 REDIS_PASSWORD=ноль REDIS_PORT=6379 APP_NAME==тест PUSHER_APP_ID=1234 PUSHER_APP_KEY=1234 PUSHER_APP_SECRET=секрет PUSHER_APP_CLUSTER=mt1 Вот моя конфигурация pusher config/websockets.php

'панель мониторинга' => [ 'порт' => env('LARAVEL_WEBSOCKETS_PORT', 6001), ], 'приложения' => [ [ 'id' => env('PUSHER_APP_ID'), 'имя' => env('APP_NAME'), 'ключ' => env('PUSHER_APP_KEY'), 'секрет' => env('PUSHER_APP_SECRET'), 'enable_client_messages' => правда, 'enable_statistics' => правда, ], ], и мой config/broadcasting.php

'водитель' => 'толкатель', 'ключ' => env('PUSHER_APP_KEY'), 'секрет' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'опции' => [ 'кластер' => env('PUSHER_APP_CLUSTER'), 'зашифровано' => правда, 'хост' => '127.0.0.1', 'порт' => 6001, 'схема' => 'http' ], ], Изменить: добавляю свою конфигурацию, чтобы показать, как работает /api, где /var/www/example является корневой папкой моего приложения Laravel

Администратор сервера вебмастер@localhost Имя_сервера subdomain.example.com ServerAlias ​​subdomain.example.com Псевдоним /api /var/www/example/public Индексы опционов FollowSymLinks Разрешить переопределить все Требовать все предоставленные Перезаписать двигатель включен DocumentRoot /var/www/example/клиентская сторона Журнал ошибок ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log вместе взятый

в public/.htaccess у меня есть следующее:

RewriteBase /api/ Изменить

Я вижу, что смогу заставить это работать, если добавлю api/ в пути запросов JavaScript прямо в dashboard.blade.php, что заставляет меня думать, что решение иметь запущенную версию этого файла. Однако я не думаю, что это решит общую проблему. Я бы предпочел сделать это правильно. (см. authEndpoint ниже)
Connect() { this.pusher = новый Pusher(this.app.key, { wsHost: this.app.host === null ? window.location.hostname: this.app.host, wsPort: this.port === null ? 6001 : этот.порт, wssPort: this.port === null ? 6001 : этот.порт, wsPath: this.app.path === null ? '' : this.app.path, DisableStats: правда, authEndpoint: '/api/{{ request()->path() }}/auth', авторизация: { заголовки: { 'X-CSRF-Token': "{{ csrf_token() }}", «X-App-ID»: this.app.id } }, EnableTransports: ['ws', 'flash'] });
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»