为了账号安全,请及时绑定邮箱和手机立即绑定

无法从频道中删除 laravel_database_ 前缀

无法从频道中删除 laravel_database_ 前缀

PHP
暮色呼如 2021-11-13 17:30:46
我正在设置 Laravel echo 来广播事件。但是每当我尝试向频道广播时,频道名称都会获得一个自动前缀:'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);            });但是,当然,我想删除前缀(或弄清楚为什么在那里)。希望有人能帮我解决这个问题。提前致谢。
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

这是在config/database.php(我相信甚至可移动)下配置的


'redis' => [

    'options' => [

        'prefix' => // change here.

    ]

]


查看完整回答
反对 回复 2021-11-13
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

解决方案是让整个 Redis Laravel 配置保持不变,并^1.6.0使用配置文件中的正确keyPrefix选项运行laravel-echo-server版本laravel-echo-server.json:


{

   "databaseConfig": {

     "redis": {

       "keyPrefix": "laravel_database_"

      }

  }

}


查看完整回答
反对 回复 2021-11-13
?
潇湘沐

TA贡献1816条经验 获得超6个赞

在 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_或基于您APP_NAME在.env文件中设置的任何内容。


您所要做的就是设置您的REDIS_PREFIX. 您可以将其留空,以便根本没有前缀。


查看完整回答
反对 回复 2021-11-13
  • 3 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号