我正在设置Laravel回显以广播事件。但是每当我尝试向频道广播时,频道名称都会得到一个自动前缀:'laravel_database_'
我尝试将事件内的返回内容切换为常规的“香奈儿”,如下所示:
public function broadcastOn()
{
return new Channel('public');
}
但是当我查看laravel-echo-server日志时,发现它仍在广播:'laravel_database_public'。
这样,我需要在JS中执行以下操作:
Echo.channel('laravel_database_public').listen('MessageSent', ({message}) => {
console.log(message);
});
但是,当然,我想删除前缀(或弄清楚前缀为什么存在)。希望有人可以帮我解决这个问题。预先感谢。
答案 0 :(得分:1)
这是可以在
下的config/database.php
(并且我相信甚至可以移动)中进行配置的
'redis' => [
'options' => [
'prefix' => // change here.
]
]
答案 1 :(得分:1)
接受的答案不适用于laravel-echo-server。
解决方案是让整个Redis Laravel配置保持不变,并运行{{1}中带有正确^1.6.0
选项的laravel-echo-server版本keyPrefix
}}配置文件:
laravel-echo-server.json
答案 2 :(得分:1)
在Laravel 7上,config/database.php
看起来像这样
'redis' => [
'client' => env('REDIS_CLIENT', 'predis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),
],
]
因此,它将在.env
文件中搜索您的REDIS_PREFIX
变量,如果没有,则会生成laravel_database_
或根据您在{{ 1}}文件。
您要做的就是设置APP_NAME
。您可以将其保留为空,以便根本没有前缀。