Alex_Chang 2021-3-2 10:49
在CentOS 7下安裝 php5.6 的swoole擴展
PHP 發展至今已經 20 餘年,現今許多網站有相當高的比例都是以 PHP 所建構而成,然而一直以來 PHP 為人所詬病的就是他的效能問題。尤其是現今許多的開發框架雖然強大優雅,但同時也因為框架的複雜度讓 PHP 的效能更加倍放大來檢視,甚至成為許多人不選擇使用框架開發的原因。<br><br>Swoole 簡介<br><br>首先,Swoole 這個名字源自於作者起出的名字 sword-server,意即希望為廣大的 PHP 開發者創造出一把鋒利的劍,後來又參考 google 的字將sword-server做變形變成了 Swoole 這個名字。<br><br><br>Swoole 並不是一個新的程式語言,他是一個以純 C 語言編寫的 PHP extension,簡單來說他有以下特點:<br><br>* 純 C 語言編寫,所以高性能<br>* 事件驅動 (Event Driven)<br>* 異步 I/O<br>* 支援 異步/同步/協程 (Coroutine)<br>* 支援 TCP/UDP/UnixSock 通信協定<br>* 支援異步 Server 端和異步 Client 端<br>* 支援多行程 (Process) 與多執行緒 (Thread)<br>* 支援 IPv4 與 IPv6<br>* 低 CPU 消耗與支援 daemon 模式<br><br>列了那麼多特點,簡單來說,就是 Swoole 能讓你的 PHP 馬上提升好幾個等級,能達到原生 PHP 不支援的許多功能,雖然 Swoole 並不是第一個支援異步的方案,而 PHP 本身也能使用一些方式達成異步,但是 Swoole 的效能在目前來說還沒有人能與其匹敵,更別說他除了異步還有以上那麼多優秀的功能。<br><br>安裝說明:<br><br>1. 首先確認是否有安裝 php-devel <br># yum install php-devel<br><br>CentOS 7 下的 PHP 5.6 安裝 php-devel 似乎有少一個套件 libedit-devel ..所以要手動下載回來安裝<br># wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm<br># rpm -Uvh libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm<br><br>2. 安裝 swoole 擴展套件<br># wget http://pecl.php.net/get/swoole-1.10.5.tgz<br># tar zxvf swoole-1.10.5.tgz<br># cd swoole-1.10.5<br><br>執行查詢出的phpize生成.configure文件,如:<br><br># /usr/bin/phpize <br><br>執行成功後查找php-config文件<br><br># find / -name php-config <br>/usr/bin/php-config<br><br>運行編譯配置檢測命令,如:<br><br># ./configure --with-php-config=/usr/bin/php-config<br># make<br># make install<br><br>3. 新增 swoole.ini<br>echo extension=swoole.so > /etc/php.d/swoole.ini<br><br>最後php重新啟動之後..查詢看module是否有載入<br># php -m | grep swoole<br>swoole<br><br>有出現就搞定囉~~<br><br>