关于php mcrypt extension

最近在SWS的机器上搭建了一个apache+php+mysql的环境,其中在使用phpMyadmin管理Mysql的时候总是出现问题,出现的情况就是刷新一下就出现Backstrat,但是又跟踪不到问题,到现在我还在怀疑是php的问题。
闲话不多说,本文主要讲mcrypt的扩展安装问题。

[root@mingming-dev /]# cat /etc/issue


我使用的机器是CentOS release 6.2 (Final),

[root@mingming-dev /]# php -v
PHP 5.3.3 (cli) (built: Jul  3 2012 16:53:21)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

实用的php版本是533,由于我是采用YUM安装的php,所以在安装的时候需要重新下载php-5.3.3的源码目录。如果你也是用的533,可以在这个地址下载 http://museum.php.net/php5/php-5.3.3.tar.gz
下载完解压

tar -zxvf php-5.3.3.tar.gz
#进到源码的扩展目录
cd mcrypt/

在安装扩展之前,还需要编译安装三个东西
I 下载安装mcrypt
1.先去http://www.sourceforge.net 下载Libmcrypt,mhash,mcrypt安装包 ,下面是我找到的链接
Libmcrypt(libmcrypt-2.5.8.tar.gz ):http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459
mcrypt(mcrypt-2.6.8.tar.gz ):http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91948&release_id=642101
mhash(mhash-0.9.9.9.tar.gz ):http://sourceforge.net/project/showfiles.php?group_id=4286&package_id=4300&release_id=645636
2 .先安装Libmcrypt

#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8
#./configure
#make
#make install

说明:libmcript默认安装在/usr/local/lib
3.安装mhash

#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make
#make install

4.安装mcrypt

#tar -zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8
#LD_LIBRARY_PATH=/usr/local/lib ./configure
#make
#make install

说明:由于在配置Mcrypt时,会找不到libmcrypt的链接库,导致无法编译,因为Libmcrypt的链接库在/usr/local/lib/文件夹 下。因些在配置mcrypt时要加入LD_LIBRARY_PATH=/usr/local/lib导入键接库

phpize

编译

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

安装

make
make install

找到php.ini的位置
笔者的php扩展配置位置不在/etc/php.ini下,而是在/ect/php.d下~你可以写个info.php

<?php
phpinfo();
?>

放到网站的根目录下看看到底在哪。加上一个配置文件mcrypt.ini。内容是

;enable mcrypt extension module
extension=mcrypt.so

重新启动apache

service httpd restart

即可。