linux下安裝php的swoole擴充套件模組(安裝後php載入不出來?)

散盡浮華發表於2017-01-09

 


應開發同事要求,需要安裝php的擴充套件模組swoole。
swoole是一種PHP高階Web開發框架,框架不是為了提升網站的效能,而是為了提升網站的開發效率,以最少的效能損耗,換取最大的開發效率。

假設伺服器上php服務版本為php5.6.26,安裝目錄為/Data/app/php5.6.26,擴充套件模組檔案路徑為/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/
安裝php的擴充套件模組要注意以下幾點:
1)擴充套件模組的下載包要是最新版的,並且是穩定版的,低版本或bata版本的安裝後,php可能載入不起來。
2)當本地伺服器上有多個php版本時,擴充套件模組在編譯時一定要加上--with-php-config=/Data/app/php5.6.26/bin/php-config,否則會出現諸如PHP Warning: PHP Startup: swoole: Unable to initialize module...類的報錯;
3)擴充套件模組編譯後的.so檔案(make && make install後的安裝資訊裡會顯示)一定要確保在擴充套件檔案目錄/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/下面。如果不在,就手動拷貝!
4)最後別忘了重啟php-fpm服務
5)php -m就能列出php的所有載入後的擴充套件模組

swoole擴充套件模組的安裝有以下兩種方式:
第一種:編譯安裝(swoole官網下載:http://pecl.php.net/package/swoole
[root@dev ~]# cd /usr/local/src
[root@dev src]# wget http://pecl.php.net/get/swoole-1.9.3.tgz
[root@dev src]# tar -zvxf swoole-1.9.3.tgz
[root@dev src]# cd swoole-1.9.3

[root@dev swoole-1.9.3]# /Data/app/php5.6.26/bin/phpize 
[root@dev swoole-1.9.3]# ./configure --with-php-config=/Data/app/php5.6.26/bin/php-config
[root@dev swoole-1.9.3]# make && make install
...........
...........
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Build complete.
Don't forget to run 'make test'.

Installing shared extensions: /Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/

然後在php.ini裡配置
[root@dev swoole-1.9.3]# vim /Data/app/php5.6.26/etc/php.ini
.....
extension="/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/swoole.so"

重啟php-fpm服務
[root@dev swoole-1.9.3]# pkill -9 php-fpm
[root@dev swoole-1.9.3]# /Data/app/php5.6.26/sbin/php-fpm

最後檢視php載入的擴充套件模組:
[root@dev swoole-1.9.3]# /Data/app/php5.6.26/bin/php -m
............
swoole

第二種安裝方法(推薦這種方法):
除了第一種的手工下載編譯swoole以外,還可以通過PHP官方提供的pecl命令,一鍵下載安裝swoole
[root@dev ~]# /Data/app/php5.6.26/bin/pecl install swoole
................
Build process completed successfully
Installing '/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/swoole.so'
.........

確保產生的swoole.so檔案在/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226下面(不在的話,就手動拷貝)
然後在php.ini檔案裡新增extension="/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/swoole.so"
然後重啟php-fpm載入swoole擴充套件模組即可。
使用/Data/app/php5.6.26/bin/php -m 命令檢視載入的模組

相關文章