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);//异步客服端写法