Linux下PHP的mcrypt模块安装

代码之源 2009-05-22

今天打算写公司统一支付接口和图览天下公司的接口。其中由于要用到DES加密,所以要安装mencrypt模块。以前在Win环境下,php的ext目录下直接又现成的libmcrypt.dll文件。只要修改一下php.ini中的;extension=php_mcrypt.dll,把前面的;号去掉就能够加载这个模块了。但是现在要在Linux服务器上调用这些方法,好了,实践一下吧。

首先要下载三个软件(下载地址是我提供的,里面有不同的压缩版本),分别是

libmcrypt-2.5.8.tar.gz

下载地址: http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459

mhash-0.9.9.tar.gz

下载地址: http://sourceforge.net/project/showfiles.php?group_id=4286&package_id=4300&release_id=645636

mcrypt-2.6.8.tar.gz

下载地址: http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91948&release_id=642101

这三个文件都要下载,为的只是编译出一个mcrypt.so。哎!

然后把程序上传到服务器上(当然,如果你从linux上服务器直接下载的,那就不用上传了,这不废话么)

tar zxvf libmcrypt-2.5.8.tar.gz //解压

cd libmcrypt-2.5.8 //进目录里,然后就开始安装了。

下面开始安装,三个文件都是一样的流程

./configure

make

make install

这里我遇到一个问题,就是当编译到最后的mcrypt-2.6.8.tar.gz时,configure命令不成功。于是在目录执行了一下ldconfig,就成功了。再然后make的时候也出现error,于是继续上网上找资料。

最后的解决方法是:

1、首先要先进入php的安装目录,然后找到ext/mcrypt这个目录,然后再执行./configure就可以完成了,相机出现mcrypt.so(这个就是我们要的东西了,在.lib/目录下)

2、运行phpize,这个是负责调用外部安装相关操作的。没装的话,你还得先装这个。具体安装方法参考:

phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定

所以安装 php-devel 相关套件就会有 phpize 可以使用 (档案预设存放于 /usr/bin/phpize )

phpize 命令是用来准备 PHP 外挂模块的编译环境的。下面例子中,外挂模块的源程序位于 extname 目录中:

$ cd extname

$ phpize

$ ./configure (注一)

$ make

$ make install

成功的安装将建立 extname.so 并放置于 PHP 的外挂模块目录中 (预设存放于 /usr/lib/php/modules/ )

需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此外挂模块。

注一:

如在执行 ./configure 时出现 not find with-php-config 时,

可重下以下指令,因 with-php-config 预设在 /usr/bin/php-config 可找到

./configure –with-php-config=/usr/bin/php-config

需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此扩展库。

相关推荐