解决Swoole无法使用异步客户端问题(例如‘swoole_redis’ not found)

先说下问题: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无法使用异步客户端问题(例如‘swoole_redis’ not found)_第1张图片

我的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 就可以用了,终于解决掉这个坑了。

解决Swoole无法使用异步客户端问题(例如‘swoole_redis’ not found)_第2张图片

你可能感兴趣的:(PHP)