微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 命令查看加载的模块

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐