linux下安裝php的swoole擴展模塊(安裝后php加載不出來?)


 


應開發同事要求,需要安裝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 命令查看加載的模塊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM