先说下问题:Fatal error: Uncaught Error: Class 'swoole_redis' not found in xxx
相信很多人在给swoole安装hiredis扩展的时候都会遇到这样的问题。
原因:从版本4.3.0开始,异步客户端和API被移到单独的PHP扩展 swoole_async 了。
因此,我们也就不用装 hiredis 了,只需要安装 swoole_async 扩展就行了。这个地方真是坑死一堆人啊。
我们先看看swoole扩展的情况:
php --ri swoole
我的swoole是4.4.0版本的,也算是最新的版本,安装好swoole后,async_redis就默认启动了。
解决方案:
git clone https://github.com/swoole/ext-async.git
cd ext-async
phpize
./configure
make -j 4
sudo make install
弄好之后,我们在php配置文件中添加一行内容:
在 php.ini 文件中开启扩展,加入内容: extension=swoole_async.so
至此,swoole_redis 就可以用了,终于解决掉这个坑了。