CentOS下php安裝mcrypt擴展

如下步驟均爲本人實際操做,可能與你的安裝方法有所區別,但我會盡可能排除疑惑)php

大體步驟(1)安裝mcrypt,(2)安裝php對mcrypt的擴展,(3)重啓apachehtml

(1)、確認你的linux沒有安裝mcrypt庫,若是已安裝,跳過安裝步驟linux

[root@test-206 ~]# yum list installed|grep mcrypt
libmcrypt.x86_64                          2.5.8-4.el5.centos           installed
libmcrypt-devel.x86_64                    2.5.8-4.el5.centos           installed
mcrypt.x86_64                             2.6.8-1.el5                  installed

以上顯示已經安裝過,若沒有,則按如下兩種方式安裝apache

(方法一)yum命令懶人安裝vim

yum install libmcrypt libmcrypt-devel mcrypt mhash

執行後會顯示即將安裝的相關庫,你能夠根據你的linux限定x86_64或者i386,如yum install libmcrypt.x86_64(若是yum命令沒法鏈接倉庫,請檢查你的/etc/yum.repos.d/裏的文件正確性,以及你的/etc/host是否是可達裏面的域名)centos


Dependencies Resolved================================================================================
 Package              Arch        Version                   Repository     Size================================================================================Installing:
 libmcrypt            i386        2.5.7-5.el5               epel          124 k
 libmcrypt            x86_64      2.5.8-4.el5.centos        extras        105 k
 libmcrypt-devel      i386        2.5.7-5.el5               epel          103 k
 libmcrypt-devel      x86_64      2.5.8-4.el5.centos        extras         10 k
 mcrypt               x86_64      2.6.8-1.el5               epel           88 k
 mhash                i386        0.9.2-6.el5               epel          141 k
 mhash                x86_64      0.9.9-1.el5.rf            rpmforge      161 k

Transaction Summary================================================================================Install       7 Package(s)
Upgrade       0 Package(s)

Total download size: 731 k
Is this ok [y/N]:

複製代碼

肯定安裝,最後顯示服務器


Installed:
  libmcrypt.x86_64 0:2.5.8-4.el5.centos
  libmcrypt-devel.x86_64 0:2.5.8-4.el5.centos
  mcrypt.x86_64 0:2.6.8-1.el5
  mhash.x86_64 0:0.9.9-1.el5.rf

Complete!

(方法二)源碼編譯安裝,去http://www.sourceforge.net下載Libmcrypt,mhash,mcrypt安裝包 
libmcrypt(libmcrypt-2.5.8.tar.gz ):
mcrypt(mcrypt-2.6.8.tar.gz ):
  mhash(mhash-0.9.9.9.tar.gz ):
2 .先安裝Libmcryptide


#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8#./configure
#make#make install 說明:libmcript默認安裝在/usr/local

3.安裝mhash
測試


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

4.安裝mcrypt
this

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

最後,仍是檢查下,是否安裝成功

(2)、安裝php的mcrypt擴展(動態加載編譯)

下載php下的mcrypt擴展或者直接下載php的完整安裝包

http://cn.php.net/releases/ 網頁下找到本身服務器的php版本,下載後tar解壓(本人的是php5.3.3)

進入ext/mcrypt文件夾

[root@*_* 14:45 ~]# cd php-5.3.3/ext/mcrypt/

執行phpize命令(phpize是用來擴展php擴展模塊的,經過phpize能夠創建php的外掛模塊,若是沒有?yum install php53-devel裏包含了,或者其餘方法)

複製代碼

[root@*_* 14:48 mcrypt]# whereis phpize    //爲了肯定phpize存在
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz
[root@*_* 14:48 mcrypt]# phpize
Configuring for:
PHP Api Version:         20090626Zend Module Api No:      20090626Zend Extension Api No:   220090626

複製代碼

執行完後,會發現當前目錄下多了一些configure文件,最後執行php-config命令就基本完成了

執行如下命令,確保你的/usr/bin/php-config是存在的

[root@*_* 15:02 mcrypt]# whereis php-config
php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz
[root@*_* 15:02 mcrypt]# ./configure --with-php-config=/usr/bin/php-config

若是遇到如下錯誤,請先安裝gcc,命令yum install gcc

configure: error: no acceptable C compiler found in $PATH

直到不報錯,出現:config.status: creating config.h,執行如下命令

[root@*_* 15:06 mcrypt]# make && make install

最後的最後,會提示你以下,說明你大功告成了

Installing shared extensions:     /usr/lib64/php/modules/

順便檢查下/usr/lib64/php/modules/裏的mrcypt.so擴展是否已經建立成功

而後的事就簡單了,給你的php.ini添加一條extension=mcrypt.so

[root@*_* 15:09 mcrypt]# cd /etc/php.d

建立一個mrcypt.ini文件就行,裏面寫extension=mcrypt.so

[root@*_* 15:17 php.d]# echo 'extension=mcrypt.so' > mcrypt.ini

(3) 、重啓apache,查閱phpinfo,mcrypt模塊擴展是否是加載了?

第二我的的方法:

報錯內容:configure: error: mcrypt.h not found. Please reinstall libmcrypt

網上搜索了不少,包括自帶的 yum install libmcrypt libmcrypt-devel,這個是沒有效果的。

去SourceForget下載libmcrypt http://sourceforge.net/projects/mcrypt/files/Libmcrypt/ ,最新版是mcrypt 2.6.7.gz。下載下來安裝仍舊報錯libmcrypt沒有找到!


繼續測試,最後安裝成功,感受是版本過高。

方法(關鍵點在用 2.5.7版本):


[html] view plaincopy

  1. #使用wget能夠經過如下路徑下載  

  2. wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz  

  3.    

  4. #解壓  

  5. tar -zxvf libmcrypt-2.5.7.tar.gz   

  6.    

  7. #進入目錄  

  8. cd libmcrypt-2.5.7  

  9.    

  10. #編譯(默認安裝到/usr/local/lib/)  

  11. ./configure --prefix=/usr/local/libmcrypt  

  12.    

  13. #執行安裝  

  14. make && make install  



再回到PHP-5.5.13解壓縮的ext目錄的mcrypt裏面


[html] view plaincopy

  1. phpize  

  2.   

  3. ./configure --with-php-config=/usr/local/php5/bin/php-config \  

  4.   

  5. --with-libmcrypt=/usr/lib/libmcrypt  

  6.   

  7. make  

  8.   

  9. make test  

  10.   

  11. make install  

  12.   

  13. vim /etc/php.ini    

  14.   

  15. #加入extension=mcrypt.so  


(2014-6-19 by default7#zbphp.com)

阿明老師的方法:

首先如今以下rpm包,而後安裝對應的rpm包
centos5 32位epel源下載地址: www.lishiming.net/data/p_w_upload/forum/epel-release-5-4_32.noarch.rpm
64位下載地址:  www.lishiming.net/data/p_w_upload/forum/epel-release-5-4_64.noarch.rpm


centos6
32位epel yum源下載地址: www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm 
64位下載地址: www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_64.noarch.rpm 

相關文章
相關標籤/搜索