為PHP新增mcrypt擴充套件模組
PHP程式設計師們在編寫程式碼程式時,除了要保證程式碼的高效能之外,還有一點是非常重要的,那就是程式的安全性保障。PHP除了自帶的幾種加密函式外,還有功能更全面的PHP加密擴充套件庫Mcrypt和Mhash。
其中,Mcrypt擴充套件庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。PHP加密擴充套件庫Mcrypt的演算法和加密模式
Mcrypt庫支援20多種加密演算法和8種加密模式,具體可以通過函式mcrypt_list_algorithms()和mcrypt_list_modes()來顯示,結果如下:
Mcrypt支援的演算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Mcrypt支援的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream
這些演算法和模式在應用中要以常量來表示,寫的時候加上字首MCRYPT_和MCRYPT_來表示,如下面Mcrypt應用的例子:
DES演算法表示為MCRYPT_DES;
ECB模式表示為MCRYPT_MODE_ECB;
基本原理是:首先使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。
本文轉自 houzaicunsky 51CTO部落格,原文連結:http://blog.51cto.com/hzcsky/481402
相關文章
- 【PHP】Mcrypt 擴充套件模組安裝及使用PHP套件
- 新增php擴充套件PHP套件
- centos下為php新增gd擴充套件CentOSPHP套件
- php新增pcntl擴充套件(Linux)PHP套件Linux
- (PHP7核心剖析-11) 模組擴充套件PHP套件
- laragon 新增 PHP_Redis 擴充套件GoPHPRedis套件
- Laragon新增PHP_Redis擴充套件GoPHPRedis套件
- 【IDL】 DICOM擴充套件模組套件
- ?Slow Admin v1.5.* 版本釋出, 新增擴充套件管理模組套件
- CentOS 系統下 PHP 怎麼新增擴充套件?CentOSPHP套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- 在 Homestead 環境下為 PHP 新增 Oracle 資料庫擴充套件(OCI)PHPOracle資料庫套件
- 開發php擴充套件PHP套件
- PHP 擴充套件安裝PHP套件
- Mac & Linux下php7新增memcached和redis擴充套件MacLinuxPHPRedis套件
- 在Windows下為PHP安裝redis擴充套件WindowsPHPRedis套件
- Windows 7 下用C++為node.js寫擴充套件模組WindowsC++Node.js套件
- PHP 安裝 yaconf 擴充套件PHP套件
- (MAC) PHP擴充套件安裝MacPHP套件
- php8.2 redis擴充套件PHPRedis套件
- Go開發PHP擴充套件GoPHP套件
- PHP安裝redis擴充套件PHPRedis套件
- php mysql擴充套件安裝PHPMySql套件
- php amqp擴充套件安裝PHPMQ套件
- php以及php擴充套件memcache 安裝PHP套件
- Android - 利用擴充套件函式為Bitmap新增文字水印Android套件函式
- 瀏覽器新增外部擴充套件瀏覽器套件
- 為效能而生,PHP Excel 擴充套件 xlswriter 1.3.3 釋出!PHPExcel套件
- 【PHP】php安裝bcmath擴充套件指令碼PHP套件指令碼
- PHP:php7.2.3 安裝pcntl 擴充套件PHP套件
- apache新增php模組ApachePHP
- php 擴充套件安裝(隨筆)PHP套件
- PHP 安裝 amqp、rabbitmq 擴充套件PHPMQ套件
- PHP 操作 Redis 之 phpredis 擴充套件PHPRedis套件
- Homestead 安裝 PHP Redis 擴充套件PHPRedis套件
- laradock 中安裝 PHP 擴充套件PHP套件
- docker PHP 安裝 Redis 擴充套件DockerPHPRedis套件
- Linux 上安裝 PHP 擴充套件LinuxPHP套件
- Laravel homestead 安裝 PHP 擴充套件LaravelPHP套件