joe*_*inz 14 websocket laravel docker
.env和boradcasting.php像这样PUSHER_APP_ID=123456789
PUSHER_APP_KEY=AZERTYUIOP
PUSHER_APP_SECRET=QSDFGHJKLMWXCVBN
PUSHER_APP_CLUSTER=mt1
PUSHER_APP_HOST=localhost # or 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
PUSHER_APP_ID=123456789
PUSHER_APP_KEY=AZERTYUIOP
PUSHER_APP_SECRET=QSDFGHJKLMWXCVBN
PUSHER_APP_CLUSTER=mt1
PUSHER_APP_HOST=localhost # or 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
6001在Dockerfile项目的容器。php artisan websockets:serve从容器内运行来使用包。WebSocketsTestEvent从修补程序会话分派事件来测试包'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' => env('PUSHER_APP_HOST'),
'port' => 6001,
'scheme' => 'http',
],
],
Run Code Online (Sandbox Code Playgroud)
.env像这样配置推送器设置:PUSHER_APP_ID=123456789
PUSHER_APP_KEY=AZERTYUIOP
PUSHER_APP_SECRET=QSDFGHJKLMWXCVBN
PUSHER_APP_CLUSTER=mt1
PUSHER_APP_HOST=ssms-app # or the @IP of the conatiner
Run Code Online (Sandbox Code Playgroud)
websockets容器创建一个 Dockerfile,如下所示:FROM php:7.3.3-alpine
RUN apk add --no-cache \
wget \
curl \
# git \
shadow \
build-base \
autoconf \
# hiredis \
libxml2-dev \
zlib-dev \
libevent \
libevent-dev \
openssl-dev \
gmp-dev \
icu-dev
RUN docker-php-ext-install \
pcntl \
mbstring \
pdo \
pdo_mysql \
tokenizer \
xml \
sockets \
gmp \
bcmath \
intl
# Libevent
RUN pecl install event
RUN apk update
# Cleanup
# apk del .build-deps && \
RUN rm -rf /var/cache/apk/* && \
rm -rf /tmp/*
RUN mkdir -p /var/www
RUN groupmod -g 1000 www-data && \
usermod -u 1000 www-data
USER www-data
WORKDIR /var/www/html
EXPOSE 6001
CMD ["php", "artisan", "websockets:serve"]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yaml像这样配置:
ssms-app:
build:
context: ./docker/app
args:
uid: ${UID}
container_name: ssms-app
environment:
- APACHE_RUN_USER=#${UID}
- APACHE_RUN_GROUP=#${UID}
volumes:
- .:/var/www/html
ports:
- ${HOST_PORT}:80
# - 6001:6001
links:
- ssms-redis
- ssms-sockets
networks:
backend:
aliases:
- ssms-app
ssms-sockets:
build:
context: ./docker/websockets
container_name: ssms-sockets
volumes:
- .:/var/www/html
ports:
- 6001:6001
networks:
backend:
aliases:
- ssms-sockets
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都遇到相同的问题:
仪表板中的图表,访问后http://localhost:8080/laravel-websockets不显示。
注意:这是通过
'perform_dns_lookup' => true在config/websockets.php.
没有任何迹象表明该事件是由仪表板中的包广播的。
最后,有什么解决办法吗?我被困了大约 3 天
也许尝试编辑 .env 文件以host.docker.internal
像这样使用
PUSHER_APP_ID=123456789
PUSHER_APP_KEY=AZERTYUIOP
PUSHER_APP_SECRET=QSDFGHJKLMWXCVBN
PUSHER_APP_CLUSTER=mt1
PUSHER_APP_HOST=host.docker.internal
Run Code Online (Sandbox Code Playgroud)
运行后php artisan config:cache
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |