PHP无需重编译添加扩展模块
一、事出有因:最近,有位开发人员发给一个截图,具体如下,说要进行新功能测试,需要已编译安装的PHP支持如图中所示的模块。
http://blog.运维网.com/attachment/201309/160401777.jpg
二、积极解决:
像这种情况,根据以往经验都是,重新编译安装PHP,为了避免繁琐的删除、编译、安装操作,也为以后方便扩展PHP模块,采用将需要添加的模块编译成.so动态链接库的方式。
三、具体步骤:
1、操作环境:
CentOS,Kernel:2.6.18-274.17.1.el5PAE
LAMP
PHP-5.2.15
MySQL-5.0.91-linux-i686-icc-glibc23
2、具体操作:
2.1编译扩展pdo:
(1)编译:
#ls /usr/local/src/php-5.2.15/ext/
#cd /usr/local/src/php-5.2.15/ext/pdo/
#/usr/local/php/bin/phpize
#./configure -with-php-config=/usr/local/php/bin/php-config
# make && make install
(2)修改php.ini
添加如下内容:
extension= "pdo.so"
(3)重启Apache:
#/usr/local/apache/bin/apachectl restart
2.2编译扩展ldap:
(1)编译:
#ls /usr/local/src/php-5.2.15/ext/
#cd /usr/local/src/php-5.2.15/ext/ldap/
#/usr/local/php/bin/phpize
#./configure -with-ldap -with-php-config=/usr/local/php/bin/php-config
# make && make install
(2)修改php.ini
添加如下内容:
extension= "ldap.so"
(3)重启Apache:
#/usr/local/apache/bin/apachectl restart
***解决“configure:error:Cannot find ldap.h”问题***
安装openldap和openldap-devel包:
yum install openldap,openldap-devel -y
***解决“configure:error:Cannot find ldap lablibraries in /usr/lib”问题***
cp -frp /usr/lib64/libldap* /usr/lib/
2.3编译扩展imap:
(1)编译:
#ls /usr/local/src/php-5.2.15/ext/
#cd /usr/local/src/php-5.2.15/ext/imap/
#/usr/local/php/bin/phpize
#./configure -with-imap -with-kerberos=/usr -with-imap-ssl=/usr \
-with-php-config=/usr/local/php/bin/php-config
# make && make install
(2)修改php.ini
添加如下内容:
extension= "imap.so"
(3)重启Apache:
#/usr/local/apache/bin/apachectl restart
四、扩展测试:
完成以上操作后,测试显示扩展成功。
http://blog.运维网.com/attachment/201309/161051907.jpg
页:
[1]