安装前建议先执行 /usr/local/php/bin/php -m (此命令显示目前已经安装好的PHP模块)看一下,要安装的模块是否已安装。然后下载当前PHP版本的源码并解压。
大部分php扩展/模块的源码编译安装就是三个步骤,在源码目录下执行:
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
有些模块可能会稍微有差异(如要求添加一些参数),但是 --with-php-config=/usr/local/php/bin/php-config 是所有PHP模块最基本的参数这个是必须要有的,具体看模块的安装文档就可以。
本文以imap和exif模块为例,进入php源码目录下ext,里面会有大部分模块的源码,这里都是php自带模块,第三方模块的话需要自己找第三方模块的源码。
1、安装imap模块前需要先安装imap所需的库:
CentOS :yum install libc-client-devel
Debian:apt-get install libc-client-dev
2、首先进入php安装目录的ext目录
比如php的源码目录为:/root/lnmp1.3-full/src/php-5.4.45/
则执行:cd /root/lnmp1.3-full/src/php-5.4.45/ext/ ###一般安装完LNMP php源码都是自动删除了的,需要自己进入src目录下解压对应版本的php源码包。###
我们要安装imap模块,执行cd imap/
再执行 /usr/local/php/bin/phpize 会返回如下信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
再执行以下命令:
[root@vpser imap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-kerberos --with-imap-ssl
[root@vpser imap]# make && make install
执行完返回:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
表示已经成功,再修改/usr/local/php/etc/php.ini
查找:extension_dir 再下面一行添加上extension = "imap.so"
保存,执行/etc/init.d/php-fpm restart 重启。
安装exif不需要另外安装库,所以省略掉了安装库的步骤。
比如php的源码目录为:/root/lnmp1.3-full/src/php-5.4.45/
则执行:cd /root/lnmp1.3-full/src/php-5.4.45/ext/
我们要安装exif模块,执行cd exif/
再执行 /usr/local/php/bin/phpize 会返回如下信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
再执行以下命令:
[root@vpser imap]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@vpser imap]# make && make install
执行完返回:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
表示已经成功,再修改/usr/local/php/etc/php.ini
查找:extension = 再最后一个extension= 后面添加上extension = "exif.so"
保存,执行/etc/init.d/php-fpm restart 重启。