您的位置:首页 > 编程语言 > PHP开发

php动态扩展bcmath与sockets库模块

2017-05-03 15:11 218 查看
在学习安装zabbix的时候,前提需要搭建使用到LNMP框架,而在编译php时忘记添加bcmath与sockets
扩展包,发现当初安装时没有--enable-bcmath、--enable-sockets,自己又不想删除重装php,幸好php支
持单独添加某个extension,重要的就是要生成这个扩展对应的.so文件。


  具体做法如下,要有与你已安装的php相同版本的php源代码安装包。我用的是php-7.0.5.tar.gz。
[root@server ~]# tar -zxf php-7.0.5.tar.gz
[root@server ~]# cd php-7.0.5

[root@server php-7.0.5]# cd ext/
[root@server ext]# cd bcmath/

[root@server bcmath]# /usr/local/php7/bin/phpize
[root@server bcmath]# ./configure --with-php-config=/usr/local/php7/bin/php-config --enable-bcmath
[root@server bcmath]# make
[root@server bcmath]# make test
[root@server bcmath]# make install
[root@server bcmath]# cd /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012
[root@server no-debug-non-zts-20151012]# ls
bcmath.so opcache.a opcache.so
模块编译好了,现在添加进php
[root@server no-debug-non-zts-20151012]# cd /usr/local/php7/etc/
[root@server etc]# vi php.ini
在最后面增加两行
extension_dir=/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
extension=mbstring.so
重启php及nginx,测试模块加上了。
遇到的问题:
在编译bcmath时要加上 --with-php-config=/usr/local/webserver/php/bin/php-config 不然会出现下面错误
configure: error: Cannot find php-config. Please use --with-php-config=PATH
[root@server bcmath]# ./configure --with-php-config=/usr/local/webserver/php/bin/php-config 正常。
同样的方法进行sockets库模块的动态添加。
php服务源码安装包中没有的ext目录下面,如果没有找到所需的加载模块(例如yaf、ffmpeg),需要自己下载其源码安装包,解压后的操作与上面的步骤一样。
这个问题是在我做zabbix实验的时候遇到的,在php动态加载模块这方面又加深了一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php zabbix bcmath