非协程特性独立扩展 (swoole_async)
最后更新于:2022-04-02 06:41:58
# 非协程特性独立扩展 (swoole\_async)
[TOC]
在`4.3`版本开始我们逐渐开始移除与协程无关的模块,包括异步客户端、消息队列等。
考虑到`Swoole-1.x`版本目前依然有大量用户使用,因此移除模块会转到另外一个混杂扩展(`swoole_async`)中进行维护。
## 模块列表
* 异步文件`IO`,如`swoole_async_read`
* 异步`Http/WebSocket`客户端
* 异步`Redis`客户端
* 异步`MySQL`客户端
* `swoole_msgqueue`
* `swoole_memory_pool`
* `swoole_ringqueue`
* `swoole_mmap`
* `swoole_channel`
## 扩展编译
~~~
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`两个扩展。
';