[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的定時器性能,提升分支預測成功率 等。