Linux下PHP的mcrypt模块安装
今天打算写公司统一支付接口和图览天下公司的接口。其中由于要用到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 这一行之后才能使用此扩展库。