基本原理是:首先使mcrypt軟件能夠運行,然后安裝php擴展模塊,並在php.ini配置。
這里注意的是mcrypt軟件依賴libmcrypt和mhash兩個庫,所以安裝配置順序從右至左
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導入鍵接庫
5、安裝php-mcrypt擴展
yum groupinstall “PHP Support” 后 CentOS6 默認安裝的是php5.3.2
yum install php-devel 使phpize 可編譯安裝擴展
默認的 redhat repos php中是沒有 mcrypt 擴展的
根據紅帽的官方消息(https://bugzilla.redhat.com/show_bug.cgi?id=621268)RHEL 不打算添加PHP的mcrypt 的支持
Joe Orton 2010-08-05 04:47:17 EDT
Thanks for the report.
We are not planning to ship mcrypt support for PHP.
所以使用 yum install php-mcrypt 時會提示沒有安裝包
Setting up Install Process
No package php-mcrypt available.
Error: Nothing to do
從php 官網下載新的php 5.3 源碼包后,解壓到本地目錄
進入解壓目錄下的 ext 目錄后會發現有 mcrypt ,
進入 mcrypt 目錄
phpize
./configure
make
make install
Installing shared extensions: /usr/lib64/php/modules/
我們先測試查看 phpinfo 當前已有的擴展(注意修改httpd配置文件 啟動httpd 並開啟防火牆的 80 等端口)
沒有 mcrypt
vi /etc/php.d/mcrypt.ini
cat /etc/php.d/mcrypt.ini
; Enable mcrypt extension module
extension=mcrypt.so
#service httpd restart
再次查看 phpinfo 可以發現 mcrypt 擴展已安裝成功