基本原理是:首先使mcrypt軟件能夠運行,然后安裝php擴展模塊,並在php.ini配置。
這里注意的是mcrypt軟件依賴libmcrypt和mhash兩個庫,所以安裝配置順序從右至左
一,下載安裝mcrypt
1.先去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 .先安裝Libmcrypt
#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
#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/文件夾下。因些在配置mcrypt時要加入LD_LIBRARY_PATH=/usr/local導入鍵接庫
二, 安裝PHP擴展模塊
1. 靜態編譯
在任意PHP文件中加入函數 phpinfo(),即可取得目前PHP的配置
在這些配置后面新增需要加入的配置:’–with-mcrypt=/usr/local/include’
然后進入php源代碼目錄,執行這條完整的configure命令
配置完成,下面進行源碼包的制作和安裝
make clean (一定需要)
make
make install
2. 動態加載
使用php的常見問題是:編譯php時忘記添加某擴展,后來想添加擴展,但是因為安裝php后又裝了一些東西如PEAR等,不想刪除目錄重裝,於是可以采用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/php/bin/php-config
注意要先確保/usr/local/php/bin/php-config存在。
make
make install
Php代碼
./configure --with-php-config=/usr/local/php/bin/php-config
make install 之后系統會提示你mcrypt.so文件所在的目錄。根據php.ini中指示的extension_dir指向的目錄中, 將其復制過去。修改php.ini,在最后添加一句extension=mcrypt.so
最后重啟APACHE服務,萬事OK。