要安装Linux的mcrypt扩展,需要以下几个软件:
1. Libmcrypt-2.5.8
下载地址:http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
2.mhash-0.9.9.9
下载地址:http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
3.mcrypt-2.6.8
下载地址:http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
4.php-5.3.24 源码包
下载地址:http://cn2.php.net/distributions/php-5.3.24.tar.gz
首先安装1-3三个软件包,安装方法是:
- [plain]viewplaincopy
- #tar-xvflibmcrypt-X.X.X.tar
- #cdlibmcrypt-X.X.X
- #./configure
- #make
- #makeinstall
按照这样的方法进行安装:
- [plain]viewplaincopy
- sed-i's|PHP_FE_END|{NULL,NULL,NULL}|'./ext/**/*.c
- sed-i's|ZEND_MOD_END|{NULL,NULL,NULL}|'./ext/**/*.c
其它解压 php源码,运行前如果没有安装 php-devel 的话,需要通过 yum 安装相应版本的 php-devel 就可以,进行解压后的php源码目录,里面有 ext/mcrypt:
- #cdext/mcrypt
- #phpize
- #aclocal
- #./configure
- #makeclean
- #make
- #makeinstall
本人安装的是 Centos 5.4 64,执行以上的操作后可以在 /usr/lib64/php/modules 看到 gd.so mcrypt.so mysql.so 等,如果你在类似这样的PHP安装目录下看到了 mcrypt.so,那么恭喜你已经安装成功,只需要在 /etc/php.ini 中加入 extension=mcrypt.so 然后 restart httpd 就可以了.
备注,如果在安装libmcrypt等软件时提示:
- checkingforg++...no
- checkingforc++...no
- checkingforgpp...no
- checkingforaCC...no
- checkingforCC...no
- checkingforcxx...no
- checkingforcc++...no
- checkingforcl...no
- checkingforFCC...no
- checkingforKCC...no
- checkingforRCC...no
- checkingforxlC_r...no
- checkingforxlC...no
- --phpfensi.com
那么,请通过yum install gcc 安装相应开发包.
如果报:error:‘PHP_FE_END’ undeclared here (not in a function) 类似这样的错误,可执行下面的代码来解决:
- sed-i's|PHP_FE_END|{NULL,NULL,NULL}|'./ext/**/*.c
- sed-i's|ZEND_MOD_END|{NULL,NULL,NULL}|'./ext/**/*.c
注意将 ./etc/***/*.c 换成你的 php-5.3.24/ext/mcrypt/mcrypt.c 对应的目录,如果你看到下面的提示就说明你安装成功了:
- [root@amcrypt]#makeinstall
- Installingsharedextensions:/usr/lib64/php/modules/
祝你成功.