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动态加载模块这方面又加深了一次。

时间: 2024-08-08 22:09:40

php动态扩展bcmath与sockets库模块的相关文章

用 consul + consul-template + registrator + nginx 打造真正可动态扩展的服务架构

在互联网应用领域,服务的动态性需求十分常见,这就对服务的自动发现和可动态扩展提出了很高的要求. Docker 的出现,以及微服务架构的兴起,让众多开源项目开始关注在松耦合的架构前提下,如何基于 Docker 实现一套真正可动态扩展的服务架构. 基本需求 基本的需求包括: 服务启动后要能自动被发现(vs 传统需要手动进行注册): 负载要能动态在可用的服务实例上进行均衡(vs 传统需要静态写入配置): 服务规模要方便进行快速调整(vs 传统需要较长时间的手动调整). 相关项目 服务发现 服务发现的项

NHibernate动态扩展表

NHibernate动态扩展属性小记 http://www.infoq.com/articles/hibernate-custom-fields 的NHibernate实现 因为动态扩展表需要修改hbm.xml文件,所以hbm.xml文件必须放在可编辑的路径中. hibernate.cfg.xml中添加节点 1 <property name="hbm2ddl.auto">update</property> 假设我有一张表Contract,hbm文件如下 1 &l

LVM之动态扩展及缩减,快照(二)

上章已经介绍了LVM 的基本使用方法,现在说一下LVM 的动态扩展,缩减,快照功能. LVM 动态扩展 上次mylv1创建的为4G ,扩展前 首先查看myvg1是否还有剩余空间,如果有就可以直接使用,木有就要再次创建物理卷,并添加到卷组: 查看myvg1 myvg1还有足够的剩余空间,接下来就可以进行mylv1的扩展了,把mylv1扩展到5G 扩展逻辑边界 查看mylv1是否扩展到了5G 缩减LVM 首先查看要缩减的mylv1 是否挂载,如果挂载必须先卸载 首先进行磁盘检查 下面将mylv1缩减

docker高级应用之动态扩展容器空间大小

docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以在docker配置文件里通过dm.basesize参数指定,比如 docker -d --storage-opt dm.basesize=20G 是指定默认的大小为20G,具体参数可以参考https://github.com/docker/docker/tree/master/daemon/graphdriver/devmapper 上面方法只是真的生成容器的时候进行的,并且修改后需要重启docker,无法

AngularJs 通过 ocLazyLoad 实现动态(懒)加载模块和依赖

好了,现进入正题,在 AngularJs 实现动态(懒)加载主要是依赖于3个主JS文件和一段依赖的脚本. 实现的过程主要是引用3个主要的JS文件 <script src="angular/1.4.8/angular/angular.min.js"></script> <script src="angular/ui-router/release/angular-ui-router.min.js"></script> &l

widows server 2003分区动态扩展(vm esxi5.0)

widows server 2003分区动态扩展 环境:vm esxi5.0 windows server 2003 背景:vm esxi5.0有个内部应用服务器,磁盘大小总共90G,C盘21G E盘69G.现在D盘容量不足,需要扩展. 操作步骤: 在vm esxi5.0上给当前磁盘增加容量,如图. 如图,磁盘1原来容量是90G现在增加到了300G,点击确定即可.(我是在虚拟机关闭状态下操作的,开机状态没有试.) 使用diskpart工具扩容. 1.在cmd命令行中输入diskpart命令,进入

自己编写库模块,Win&Android联调总结二

libGameNet模块Win&Android联调总结二 作者:Jack(JCracker) 邮箱:[email protected] 作者很赖还是不想上传图片 需要图片和配置实例的来这里下载:下载 Application.mk 废弃不用 因为这里是打包成库 Android.mk: #LOCAL_PATH := $(call my-dir) LOCAL_PATH := E:\ylss\project\NewStartDemo\NetworkDemo\NetworkDemo include $(C

动态扩展数组长度(自定义)

动态扩展数组长度(自定义) 在Java中,创建的数组都是定长的,也就是数组一旦创建,长度就已经确定了,但是我们往往遇到要添加的元素个数,超出了数组的长度,这种情况如何处理了?接下来就介绍一种简单的思路去扩展数组的长度. 一.动态扩展数组的思路 1)定义一个数组.2)向数组中添加元素.3)当元素的个数超出了数组的长度的时候,则需要对数组进行动态的扩容4)再次新建一个数组,该数组的长度为第一步创建的数组长度基础上再增加50%(初始化数组长度为10,每次增加5).5)在创建完新的数组之后,一定要记得将

LVM动态扩展

在平时的开发工作中,经常会创建磁盘不足够大的虚拟机,然后往集群里面写一些数据导致磁盘满了.手动编辑虚拟机的磁盘大小是不会文件系统识别的,大多数同学只能无奈的重新装OS,这里我介绍一种基于LVM实现动态的方式. LVM了解 LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(v