来源:forcaptain 发布时间:2018-12-08 15:16:31 阅读量:871
有时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
正常。
-