項目使用了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);
});
項目執(zhí)行過過程中就報錯了提示 NOAUTH Authentication required.
一看就是權(quán)限問題 看了點源碼 卻沒有找到在哪里 連接的時候使用了密碼 或者在發(fā)送消息的時候使用了密碼
都沒有找到 感覺應(yīng)該不是作者忘記了 但是卻沒有找到輸入密碼的代碼
還有就是第一個疑問 這么使用和 Redis::subscribe() 有什么區(qū)別嗎 ?
今天專門研究了下 發(fā)現(xiàn) webman 和workman 關(guān)于redis的使用 還是比較多的 每種 都有自己的功能 但是 webman 中的 Redis::subscribe 和workman中的redis-queue 是不是功能相同的呢 請作者解釋下
版本太老了,workerman/redis 和 workerman/redis-queue 升級到最新版本
不會的 我的 "name": "workerman/redis-queue" "version": "v1.2.1", 但是workman/redis 我的composer包好像沒有
$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 后依舊這樣