首頁  >  文章  >  後端開發  >  如何在php7.2/php7.3中安裝mcrypt擴充功能?

如何在php7.2/php7.3中安裝mcrypt擴充功能?

藏色散人
藏色散人原創
2019-03-27 10:10:5813433瀏覽

mcrypt 是php裡面重要的加密支援擴充庫,linux環境下該程式庫在預設情況下不會開啟。 window環境下,PHP>=5.3,預設開啟mcrypt擴充。 mcrypt擴充是mcrypt加密庫的介面。這個擴充對於允許使用mcrypt的PHP程式碼在PHP 7.2 上運行非常有用。

如何在php7.2/php7.3中安裝mcrypt擴充功能?

mcrypt擴充功能的主要問題是,它是基於libmcrypt的,自2007年開始就沒有開發過。因此,即使libmcrypt仍在使用,但由於缺乏適當的開發和維護,程式庫的安全問題已成為許多系統管理員的焦點。

由於mcrypt擴充開發的結束,擴充也從PHP 7.2刪除,並轉移到一個非官方的PECL儲存庫。但是,你仍然可以在PHP 5.4到PHP 7.1找到mcrypt擴充。 PHP 7.2已經發布,但它不包含mcrypt擴充功能。對於PHP 7.2 , PHP使用libsodium作為加密函式庫。

要在PHP 7.2上安裝mcrypt擴展,請以伺服器的root使用者身分執行以下命令:

驗證php和pecl版本

php -v
pecl version

如果你的php不是7.2,那麼用/usr/bin/php7.2來代替php指令。

#安裝mcrypt擴充功能

Mcrypt PECL擴充功能

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libmcrypt-dev
sudo pecl install mcrypt-1.0.1

當你看到提示時

libmcrypt prefix? [autodetect] :

按[Enter]自動偵測。

安裝mcrypt trought pecl成功後,你應該將mcrypt.so副檔名加入php.ini。

輸出將如下所示:

...
Build process completed successfully
Installing '/usr/lib/php/20170718/mcrypt.so'    ---->   this is our path to mcrypt extension lib
install ok: channel://pecl.php.net/mcrypt-1.0.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini

取得安裝路徑並新增至cli和apache2 php.ini設定。

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini"
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

驗證擴充功能是否已安裝

執行指令:

php -i | grep "mcrypt"

輸出將如下所示:

/etc/php/7.2/cli/conf.d/mcrypt.ini
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

常問問題

問:看到錯誤訊息:ERROR: 'phpize' failed 

#答案:你可以安裝php7.2-dev apt-get install php7.2-dev

問:在MacOS / OSX上安裝PHP 7.1和highet設定的解決方案是什麼?

答:你可以使用macports,然後就可以安裝sudo port install php71-mcrypt

相關推薦:《PHP教學

#本篇文章就是在php7.2 / php7.3中安裝mcrypt擴充功能的方法介紹,希望對需要的朋友有幫助!

以上是如何在php7.2/php7.3中安裝mcrypt擴充功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn