please install the ext-async extension, using SwooleAsyncClient报错?

    科技2022-08-03  112

    swoole版本在4.0以上后,swoole不在支持$client = new Swoole\Client(SWOOLE_SOCK_TCP,SWOOLE_SOCK_ASYNC);这种写法,需要安装另一个异步扩展。

    swoole_async.so

    这个扩展依赖swoole,比如说,swoole版本是4.1.1,那么async版本也的是4.1.1,否则编译不过。

    安装如下:

    扩展编译

    git clone https://github.com/swoole/async-ext.git cd async-src phpize ./confiugre make -j 4 sudo make install 编译将生成swoole_async.so新扩展此扩展依赖swoole.so扩展,必须先加载swoole.so再加载swoole_async.so

    配置文件

    修改php.ini加载扩展。

    extension=swoole.so extension=swoole_async.so

    可以通过php -m看到swoole和swoole_async两个扩展。

     

    原因: $client=new swoole\Client(SWOOLE_SOCK_TCP,SWOOLE_SOCK_SYNC);这种写法4.4版本已经不支持了

    改为:

    $client=new swoole\Client(SWOOLE_SOCK_TCP);//同步客服端写法

    $client=new swoole\Async\Client(SWOOLE_SOCK_TCP);//异步客服端写法

     

    Processed: 0.010, SQL: 8