workerman/redis-queue 疑是有bug redis 连接不上带密码的redis

567

项目使用了workerman/redis-queue

在一个onWorkStart中使用
$client = new Client(''redis://:redis_h73TFz@1Panel-redis-bcOX:6379/0');
//或者如下
$client = new Client(''redis://1Panel-redis-bcOX:6379',[
'auth'=>'redis_h73TFz',
'db'=>0
]);

// 订阅
$client->subscribe('user-1', function($data){
    echo "user-1\n";
    var_export($data);
});

项目执行过过程中就报错了提示 NOAUTH Authentication required.
一看就是权限问题 看了点源码 却没有找到在哪里 连接的时候使用了密码 或者在发送消息的时候使用了密码
都没有找到 感觉应该不是作者忘记了 但是却没有找到输入密码的代码

还有就是第一个疑问 这么使用和 Redis::subscribe() 有什么区别吗 ?
今天专门研究了下 发现 webman 和workman 关于redis的使用 还是比较多的 每种 都有自己的功能 但是 webman 中的 Redis::subscribe 和workman中的redis-queue 是不是功能相同的呢 请作者解释下

51 1 0
1个回答

版本太老了,workerman/redis 和 workerman/redis-queue 升级到最新版本

  • 567 1天前

    不会的 我的 "name": "workerman/redis-queue" "version": "v1.2.1", 但是workman/redis 我的composer包好像没有

  • 567 1天前
     $client = new Client('redis://:redis_h73TFz@1Panel-redis-bcOX:6379/0',);

    // // 订阅
    $client->subscribe('user-1', function($data){
    echo "user-1\n";
    var_export($data);
    });

    Press Ctrl+C to stop. Start success.
    Worker udp started: 0
    Worker started: 1
    Worker started: 0
    NOAUTH Authentication required.NOAUTH Authentication required.
    安装了 composer require workerman/redis 版本 2.0.5 后依旧这样

  • 567 1天前

    找到原因了 Client 类引用错误了

🔝