我正在用 Laravel 开发实时应用程序。由于我不想使用 Pusher,我正在尝试使用Laravel Echo Server、Redis 和 Socket.IO使 websockets 工作。但是,我对这个堆栈有问题。客户端(浏览器)似乎无法从事件接收数据。我还在前端使用 Intertia 和 Vue。还值得注意的是,我使用Laragon作为我的本地开发环境。
我的.env,有些被省略了:
APP_URL=http://malbe.test
BROADCAST_DRIVER=redis
CACHE_DRIVER=file
QUEUE_CONNECTION=redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
MIX_APP_URL="${APP_URL}"
Run Code Online (Sandbox Code Playgroud)
我的laravel-echo-server.json:
APP_URL=http://malbe.test
BROADCAST_DRIVER=redis
CACHE_DRIVER=file
QUEUE_CONNECTION=redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
MIX_APP_URL="${APP_URL}"
Run Code Online (Sandbox Code Playgroud)
我的 redis 配置database.php:注意:我使用predis是因为phpredis即使我在 PHP 扩展上安装了 dll,我似乎也无法工作。
{
"authHost": "http://malbe.test",
"authEndpoint": "/broadcasting/auth",
"clients": [
{
"appId": "omitted",
"key": "omitted"
}
],
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": null,
"port": …Run Code Online (Sandbox Code Playgroud)