VPS侦探一直在努力的去营造一个VPS相关话题的交流环境,于是有了很多的VPS相关的教程、QQ群、有了论坛、有了LNMP一键安装包...
 
 
今天说一下如何为lnmp的php安装一些自己需要的模块。
本文以imap和exif模块为例。

一、安装imap模块
1、安装imap模块前需要先安装imap所需的库:

CentOS :yum install libc-client-devel
Debian:apt-get install libc-client-dev

2、首先进入php安装目录的ext目录
比如php的安装目录为:/root/lnmp0.4-full/php-5.2.10/
则执行:cd /root/lnmp0.4-full/php-5.2.10/ext/
我们要安装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
[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 = "imap.so"
保存,执行/root/lnmp restart 重启。

在浏览器里面输入http://ip/p.php,打开探针,安装IMAP模块前:
lnmp,PHP模块

安装IMAP模块后:
lnmp,PHP模块

二、安装exif模块安装exif不需要另外安装库,所以省略掉了安装库的步骤。

比如php的安装目录为:/root/lnmp0.4-full/php-5.2.10/
则执行:cd /root/lnmp0.4-full/php-5.2.10/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"
保存,执行/root/lnmp restart 重启。

在/home/wwwroot/下面创建一个exif.php的文件,内容如下:
<?php
$exif = read_exif_data ('IMG_0001.JPG');
while(list($k,$v)=each($exif)) {
echo "$k: $v<br>\n";
}
?>
其中IMG_0001.JPG为照片文件。

未安装exif模块前:
lnmp,PHP模块

安装exif模块后:
lnmp,PHP模块

可以读出照片的exif信息。

安装其他模块也基本上都是这两种方式,当./configure --with-php-config=/usr/local/php/bin/php-config 执行这个的时候是会检查系统上库是否安装上,如果没有安装上就会报错,按错误提示安装相关的库就行。