歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下安裝加密模塊mcrypt技巧

Linux下安裝加密模塊mcrypt技巧

日期:2017/2/28 16:10:21   编辑:Linux教程

方案一
安裝mcrypt需要解決對libmcrypt還有mhash的依賴,所以先安裝libmcrypt和mhash
libmcrypt-2.5.8.tar.gz
下載地址:http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459
mhash-0.9.9.tar.gz
下載地址:http://sourceforge.net/project/showfiles.php?group_id=4286&package_id=4300&release_id=645636
mcrypt-2.6.8.tar.gz
下載地址:http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91948&release_id=642101

# tar -xvf libmcrypt-X.X.X.tar
# cd libmcrypt-X.X.X
# ./configure

現在你應該已經把libmcrypt作為一個共享組件了(但不是一個PHP的共享組件)
運行命令:

# ldconfig

它將使得共享對象可以在C/C++開發中被使用。下面把mcrypt動態組件編譯到PHP中。首先,你需要PHP-devel 包中包含的 'phpize‘ 命令。


當你當前運行的PHP中已經有了 PHP-devel 後,輸入:

# cd ext/mcrypt
# phpize
# aclocal
# ./configure
# make clean
# make
# make install

現在php的安裝目錄下面應該有了mcrypt.so 的文件,在 /etc/php.ini 添加:

extension=mcrypt.so

然後重啟一下apache,這樣我們就已經將mcrypt功能安裝成功了。

特別注意:

1、phpize需在解壓後的源碼包下執行,執行後生成configure腳本

2、運行./configure時,如果提示

configure: error: Cannot find php-config. Please use --with-php-config=PATH
請使用:

./configure --with-php-config=/php-install-path/bin/php-config #而不是使用php.ini

安裝方案二(推薦用方案二)
1.先安裝Libmcrypt
#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8
#./configure
#make
#make install

說明:libmcript默認安裝在/usr/local

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

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

4. 網上很多都說要重新編譯 php,比如‘方案一‘
特別是make,時間太久有容易出錯
在mcrypt的php官方安裝幫助裡面找到答案

You can install Mcrypt from the PHP Source Tree as a module if you choose.
You first need to ensure you have libmcrypt, libmcrypt-devel, and mcrypt installed, then do:

說明:此步之前確保php目錄下有mcrypt目錄,確保mcrypt下有phpize和aclocal文件。本人安裝幾次後才安裝好,執行命令的時候確保相對目錄有相對的文件

# cd php-5.x.x/ext/mcrypt
# phpize
# aclocal
# ./configure
# make && make install

Enable the module by adding: 'extension=mcrypt.so' to PHP.ini.
發現在Php 的編譯包裡面有這些擴展,phpize命令就是專門給Php擴展用的,免去了重新給Php編譯的麻煩
具體操作:
1).要有與現有php完全相同的php壓縮包 ,展開後進入裡面的ext/mcrypt目錄 (裡面是mcrypt的php擴展)
#cd /usr/local/php-x.x.x/ext/mcrypt

2).執行/usr/local/php5/bin/phpize
#/usr/local/php5/bin/phpize

3).編譯安裝
執行完後,會發現當前目錄下多了一些configure文件,如果沒報錯,則根據提示運行
注意要先確保/usr/local/php5/bin/php-config存在(如果是默認編譯php包的話–with-php-config可以省略,會自動找到)。
一定要到目錄下去看一下這個文件是否存在,安全第一!!!
執行:
./configure -with-php-config=/usr/local/php5/bin/php-config
make
make install
會出現一些信息,給你一些安裝後的信息,mcrypt.so的目錄記下來下面有用到
4). 拷貝mcrypt.so文件
make install 之後系統會提示你mcrypt.so文件所在的目錄
#cp /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090613/mcrypt.so /usr/local/php5/lib/php/extensions/
5).配置php.ini
#vi /usr/local/lib/php.ini
先找到extension_dir = "/usr/local/php/lib/php/extensions/"看下後面是否有mcrypt.so後綴,編譯的時候會自動寫進php.ini
沒有的話就執行下面操作
修改php.ini
配置extension_dir = "/usr/local/php/lib/php/extensions/"
在最後添加一句extension=mcrypt.so
變成:extension_dir = "/usr/local/php5/lib/php/extensions/mcrypt.so"

5.重啟apache和mysql

Copyright © Linux教程網 All Rights Reserved