在 Laravel 框架中使用了 Redis 的时候通常会设置前缀:
REDIS_PREFIX=
这时候 Laravel-Echo-Server 的广播事件触发就会出现异常,注册的私有频道名称是不带前缀的,但是实际发送的频道是具有前缀的,这就导致了两者并不相等
中文搜索出来的结果都是让你去掉这个 Redis 前缀的设置,但是国外有个大佬直接向官方提交修复了这个问题 合并请求
现在只需要在 laravel-echo-server.json 配置文件中加上与框架一样的前缀设置即可解决问题
"databaseConfig": { "redis": { "port": "6379", "host": "127.0.0.1", "password": "", "keyPrefix": "api.tabll.cn-redis-prefix-" }, "sqlite": { "databasePath": "/database/laravel-echo-server.sqlite" } },