[TOC]
---
Swoole需要使用源码安装。暂无Windows版扩展。
### 源码安装
``` shell
wget -O swoole.zip https://github.com/swoole/swoole-src/archive/v1.9.11.zip
unzip swoole.zip
cd swoole
phpize
./configure
make && make install
```
### pecl安装
由于pecl是需要编译的,所以需要先安装编译器(已安装编译器可以忽略):
```
yum install -y gcc gcc-c++ make cmake bison autoconf
```
然后:
```
pecl install swoole
pecl install redis
```
pecl安装扩展完成后会提示添加so文件到php.ini。示例:
```
Build process completed successfully
Installing '/usr/lib64/php/modules/swoole.so'
install ok: channel://pecl.php.net/swoole-1.9.11
configuration option "php_ini" is not set to php.ini location
You should add "extension=swoole.so" to php.ini
```
添加示例:
```
[swoole]
extension = /usr/lib64/php/modules/swoole.so
```
### 版本选择
建议使用的版本(截止时间2017-6-3)
```
稳定版:v1.9.9
预览版:v2.0.7
```
> `1.9.x` 分支已进入特性锁定期,不再开发新功能,仅修复BUG。
最低版本:
**建议`1.8.6+`。PHP7建议使用`1.9.2+`。**
建议使用的PHP版本
```
PHP5.5或更高版本
PHP7.0.13或更高版本
```
> 使用`TP3.1+`框架的朋友升级到`PHP7.1.0`可能会出现rewrite失效问题。建议`PHP7.0.x`系列。
快速查看当前swoole的版本:
```
php --ri swoole
```
`1.8.6~1.8.13` 都是小范围BUG修复及功能新增。其中 [`1.8.11`](https://wiki.swoole.com/wiki/page/p-1.8.11.html) 增加SIGRTMIN信号处理函数,用于重新打开日志文件。
[`1.8.6`](https://wiki.swoole.com/wiki/page/p-1.8.6.html) 版本是一个重要的BUG修复版本,主要修复了PHP7环境下HttpServer、TCPClient、HttpClient、Redis等客户端存在的内存泄漏、崩溃问题。
[`1.9.0`](https://wiki.swoole.com/wiki/page/p-1.9.0.html) 版本增加了多项新特性,修复了多个已知问题。1.9版本是100%向下兼容1.8的,用户可无缝升级。
[`1.9.1`](https://wiki.swoole.com/wiki/page/p-1.9.1.html) 修复PHP7下启用opcache导致崩溃的问题;重构`reopen log file`特性,收到`SIGRTMIN`信号后重新打开日志文件并重定向标准输出 等。
[`1.9.2`](https://wiki.swoole.com/wiki/page/p-1.9.2.html) 修复PHP7下发生`zend_mm_heap corrupted`的问题 等。
[`1.9.4`](https://wiki.swoole.com/wiki/page/p-1.9.4.html) 修复WebSocket服务器默认onRequest方法内存泄漏问题 等。
[`1.9.5`](https://wiki.swoole.com/wiki/page/p-1.9.5.html) 增加pid_file选项,在Server启动时将主进程ID写入指定的文件 等。
[`1.9.6`](https://wiki.swoole.com/wiki/page/p-1.9.6.html) 修复添加超过1万个以上定时器时发生崩溃的问题;增加swoole_serialize模块,PHP7下高性能序列化库;修复监听UDP端口设置onPacket无效的问题 等。
[`1.9.9`](https://wiki.swoole.com/wiki/page/p-1.9.9.html) 修复Http2客户端POST数据时协议错误问题 等。
[`1.9.11`](https://wiki.swoole.com/wiki/page/p-1.9.11.html) 修复WebSocket服务器onOpen回调函数存在内存泄漏的问题;修复Http服务器文件上传在5.6版本发生崩溃的问题;优化添加Task和Timer的定时器性能,提升分支预测成功率 等。