0

Laravel を実行している Docker 環境があり、laravel-websockets を機能させたいと考えています。

私がここを訪れたとき:

http://localhost:8000/laravel-websockets

次のエラーが表示されます。

Websocket エラー

開発ツールは次のことを教えてくれます:

WebSocket connection to 'ws://localhost:6001/app/local?protocol=7&client=js&version=4.3.1&flash=false' failed: Connection closed before receiving a handshake response

次の docker-compose.yaml があります。

version: "3.8"

services:
    server:
        build:
            context: .
            dockerfile: dockerfiles/nginx.dockerfile
        ports:
            - "8000:80"
            - "6001:6001"
        volumes:
            - ./src:/var/www/html
            - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
        depends_on:
            - app
    app:
        build:
            context: .
            dockerfile: dockerfiles/php.dockerfile
        volumes:
            - ./src:/var/www/html:delegated

私の php.dockerfile は次のようになります。

FROM php:8.0-fpm-alpine

USER root

WORKDIR /var/www/html

COPY src .

RUN apk --no-cache add libxml2-dev
RUN docker-php-ext-install soap
RUN docker-php-ext-install pdo pdo_mysql

RUN echo 'max_execution_time = 120' >> /usr/local/etc/php/conf.d/docker-php-maxexectime.ini;

EXPOSE 6001

私は決して専門家ではないので、明らかな何かを見落としている可能性があります。どんな助けでも感謝します。

============

編集:追加情報

ローカルにセットアップされています:

'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,
            'host' => '127.0.0.1',
            'port' => 6001,
            'scheme' => 'http'
        ],
    ],

そして、私は実行しました:

php artisan websockets:serve
4

1 に答える 1