vivion27 发表于 2018-12-21 13:36:13

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]
查看完整版本: PHP无需重编译添加扩展模块