开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

php动态扩展bcmath与sockets库模块

简介:
+关注继续查看

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

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

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

wKioL1kJfJfx4ctaAACXdcKMOhM151.png-wh_50

  具体做法如下,要有与你已安装的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动态加载模块这方面又加深了一次。

 



      本文转自MQ_douer 51CTO博客,原文链接:http://blog.51cto.com/douer/1921572,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何利用phpize在生产环境中为php添加新的扩展php-bcmath
  在日常的开发当中,随着开发的功能越来越复杂。对运行环境的要求也就随着需求的变化需要不断地更新和变化。一个在线的生产系统不可能一开始就满足了所有的运行依赖,因此动态地添加依赖就显得比较必要了。如果你的应用是基于lanmp的话,那么很有可能某天需要添加一个apache的扩展或者php的扩展。
578 0
PHP连接MySQL 8.0报错的解决办法
PHP连接MySQL 8.0报错的解决办法
0 0
PHP连接MySQL 8.0报错的解决办法
PHP连接MySQL 8.0报错的解决办法
0 0
PHP+MySQL打造XXX管理系统
PHP+MySQL打造XXX管理系统
0 0
PHP error:mysql_fetch_row() expects parameter 1 to be resource, boolean given 的错误
PHP error:mysql_fetch_row() expects parameter 1 to be resource, boolean given 的错误
0 0
SaltStack安装Apache/Mysql/PHP部署Wordpress
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。 master监听4505和4506端口,4505对应的是ZMQ的PUB system,用来发送消息,4506对应的是REP system是来接受
0 0
【PHP秒杀系统】第一篇 环境准备即MySQL的封装
【PHP秒杀系统】第一篇 环境准备即MySQL的封装
0 0
MacOs M1 芯片分布式搭建 Nginx+PHP+MySQL和多站点域名访问
一、安装Nginx 问题:Mac 在安装nginx之前记得把原本的apache2给卸载删除了,要不然后期会出现端口号被占用,或者有时候nginx用不了
0 0
PHP处理MySQL关联查询
什么关联查询? a)在MySQL中的Select语句中,我们经常会有复杂的业务需要使用join子语句,包括left join、right join、inner join、left outer join、right outer join、full join b)那么使用以上几种方式进行表查询的时候、对数据库的压力是很大的,怎么个大法呢,我们来测试一下: i.首先我们先搞一些数据 class表200w数据 user表 40w数据 ii.我们接下来查询15个班级下面的所有学生
0 0
【PHP】从mysql取数据被强制转义
【PHP】从mysql取数据被强制转义
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
复杂PHP系统性能瓶颈排查及优化
立即下载
PHP与APM_技术内幕和最佳实践
立即下载
PHP安全开发_从白帽角度做安全
立即下载