使用 workerman-redis 在這個方法報錯,workman的php其余環(huán)境應(yīng)該是有的
// Add socket to global event loop waiting connection is successfully established or faild.
Worker::$globalEvent->add($this->_socket, EventInterface::EV_WRITE, array($this, 'checkConnection'));
[Error]
Call to a member function add() on null
本地是windows64 php 7.4.3
線上也是 linux centos7 php7.4.30
用的框架是tp6 后面的打印是add里面的參數(shù)
這個開源項目在這個環(huán)境下都能正常運行
但是這個還是會有問題
workerman/redis 只能在workerman的運行環(huán)境使用
大佬,意思是使用前提還需要我在這個框架安裝workman的運行環(huán)境的意思嗎?還是我只能單獨類似下個webman,再在其中使用這個workman/redis呢
好的,謝了,大佬可以多問一個小問題嗎就是截圖里面追加的那個,就該有的環(huán)境什么的都有的話,執(zhí)行workman的那個redis還是會有點問題,或者說是不是需要分開用, tp用 redis, workman需要單獨啟動
workerman運行環(huán)境,是指執(zhí)行 php start.php start
啟動的workerman相關(guān)進程的內(nèi)部運行環(huán)境,里面包含了workerman/redis執(zhí)行依賴的變量、類實例等,而且這些只有在workerman進程里能訪問到。
執(zhí)行php think worker:queue
并沒有啟動workerman,僅僅是引用了workerman/redis類文件,也沒workerman/redis依賴的workerman環(huán)境,無法使用workerman/redis。
還有workerman/redis 手冊有講,除非是在workerman環(huán)境里需要使用subscribe/pSubscribe異步訂閱,否則都用redis擴展。你在tp更應(yīng)該使用redis擴展才對。