php动态扩展bcmath与sockets库模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php动态扩展bcmath与sockets库模块相关的知识,希望对你有一定的参考价值。

  在学习安装zabbix的时候,前提需要搭建使用到LNMP框架,而在编译php时忘记添加bcmath与sockets

扩展包,发现当初安装时没有--enable-bcmath、--enable-sockets,自己又不想删除重装php,幸好php支

持单独添加某个extension,重要的就是要生成这个扩展对应的.so文件。

技术分享

  具体做法如下,要有与你已安装的php相同版本的php源代码安装包。我用的是php-7.0.5.tar.gz。

[[email protected] ~]# tar -zxf php-7.0.5.tar.gz 

[[email protected] ~]# cd php-7.0.5

[[email protected] php-7.0.5]# cd ext/

[[email protected] ext]# cd bcmath/

[[email protected] bcmath]# /usr/local/php7/bin/phpize

[[email protected] bcmath]# ./configure  --with-php-config=/usr/local/php7/bin/php-config  --enable-bcmath

[[email protected] bcmath]# make

[[email protected] bcmath]# make test

[[email protected] bcmath]# make install

[[email protected] bcmath]# cd  /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012

[[email protected] no-debug-non-zts-20151012]# ls

bcmath.so  opcache.a  opcache.so

模块编译好了,现在添加进php

[[email protected] no-debug-non-zts-20151012]# cd  /usr/local/php7/etc/

[[email protected] 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
[[email protected] bcmath]# ./configure   --with-php-config=/usr/local/webserver/php/bin/php-config      正常。

同样的方法进行sockets库模块的动态添加。

php服务源码安装包中没有的ext目录下面,如果没有找到所需的加载模块(例如yaf、ffmpeg),需要自己下载其源码安装包,解压后的操作与上面的步骤一样。

这个问题是在我做zabbix实验的时候遇到的,在php动态加载模块这方面又加深了一次。

 

本文出自 “MQ_douer” 博客,请务必保留此出处http://douer.blog.51cto.com/6107588/1921572

以上是关于php动态扩展bcmath与sockets库模块的主要内容,如果未能解决你的问题,请参考以下文章

php动态扩展函数库依赖

linux下用phpize给PHP动态添加扩展

linux下lamp平台下安装zabbix到了,检查安装条件时,提示 PHP bcmath no Fail PHP mbstring no Fail

安装bcmath 扩展

Ubuntu PHP安装bcmath模块

php7.2 安装bcmath扩展