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

动态添加php扩展模块

2012-11-24 01:00 330 查看
有时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 

正常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: