本文环境是CentOS5.4下进行的,下图首先示例mcrypt和php的依赖关系


 

基本原理是:首先使mcrypt软件能够运行,然后安装php扩展模块,并在php.ini配置。

这里注意的是mcrypt软件依赖libmcrypt和mhash两个库,所以安装配置顺序从右至左

 

I .yum安装mcrypt支持

 

yum  install  php-mcrypt  libmcrypt  libmcrypt-devel ,注意操作系统是64位和32位。

 

 

II. 安装PHP扩展模块

接着就要为PHP添加mcrypt模块了

 

1. 静态编译

在任意PHP文件中加入函数 phpinfo(),即可取得目前PHP的配置
在这些配置后面新增需要加入的配置:--with-mcrypt --with-mhash

然后进入php源代码目录make clean ,然后执行这条完整的configure命令,依次
make
make install

 

2. 动态加载


使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想重装整个PHP,于是可以采用phpize。方法是:

 

要有与现有php完全相同的php压缩包。我用的是php-5.2.6.tar.gz。 展开后进入里面的ext/mcrypt目录(里面是mcrypt的php扩展),然后执行/usr/local/php/bin/phpize。phpize是安装php时安装好的一个工具,如果你的机器没有安装phpize工具,那么可能还是要make,make install php,仅仅为了得到phpize.

执行完后,会发现当前目录下多了一些configure文件, 如果没报错,则根据提示运行

 

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

注意要先确保/usr/local/bin/php-config存在。

make

make install

Php代码
  1. ./configure --with-php-config=/usr/local/php/bin/php-config

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

 

make install 之后系统会提示你mcrypt.so文件所在的目录,在里面就会发现已经有一个刚刚编译好的mcrypt.so,修改php.ini,extension=mcrypt.so。

 

最后重启APACHE服务,原来的提示消失了。