动态添加php扩展模块

本文介绍如何在不重新编译PHP的情况下动态添加所需模块,通过具体示例演示如何为PHP添加mbstring扩展,包括查找模块源码、使用phpize进行编译配置及最终将模块集成到PHP的过程。

有时php编译安装好之后,发现摸个编译参数漏掉了,需要的模块不支持但又不想重新编译php,这时我们可以动态的添加php模块。
如我之前有一个编译时漏掉了--enable-mbstring 现在给添加上。
添加扩展模块只要在php的安装包里找到相应的模块源码重新编译后,添加到php扩展就可以。
[root@XXX php-5.3.18]# ls ext/
bcmath              fileinfo   mbstring      pdo_mysql   simplexml  tokenizer
bz2                 filter     mcrypt        pdo_oci     skeleton   wddx
                                      ...             .....
[root@XXX php-5.3.18]# cd ext/mbstring/
[root@XXX mbstring]# pwd
/root/soft/php-5.3.18/ext/mbstring
运行phpize:
[root@XXX mbstring]# /usr/local/webserver/php/bin/phpize 
提示:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
安装autoconf:
[root@XXX mbstring]# yum install autoconf
[root@XXX mbstring]# /usr/local/webserver/php/bin/phpize 
[root@XXX mbstring]# ./configure   --with-php-config=/usr/local/webserver/php/bin/php-config 
[root@XXX mbstring]# make
[root@XXX mbstring]# make install
Installing shared extensions:     /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files:          /usr/local/webserver/php/include/php/
[root@XXX etc]# ls /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626
mbstring.so
模块编译好了,现在添加进php
[root@XXX etc]# vi php.ini 
在最后面增加两行
extension_dir=/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
extension=mbstring.so
重启php,测试模块加上了。
遇到的问题:
在编译mbstring时要加上  --with-php-config=/usr/local/webserver/php/bin/php-config 不然会出现下面错误
configure: error: Cannot find php-config. Please use --with-php-config=PATH
[root@XXX mbstring]# ./configure   --with-php-config=/usr/local/webserver/php/bin/php-config 
正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值