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 -vpecl version
如果你的php不是7.2,那么使用/usr/bin/php7.2代替php命令。
安裝mcrypt擴展
Mcrypt PECL擴展
sudo apt-get -y install gcc make autoconf libc-dev pkg-configsudo apt-get -y install libmcrypt-devsudo pecl install mcrypt-1.0.1
當你看到提示時
libmcrypt prefix? [autodetect] :
按[Enter]自動檢測。
安裝mcrypt trought pecl成功后,你應該將mcrypt.so擴展名添加到php.ini中。
輸出將如下所示:
...Build process completed successfullyInstalling /usr/lib/php/20170718/mcrypt.so ---- this is our path to mcrypt extension libinstall ok: channel://pecl.php.net/mcrypt-1.0.1configuration option php_ini is not set to php.ini locationYou 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.iniRegistered Stream Filters = zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*mcryptmcrypt support = enabledmcrypt_filter support = enabledmcrypt.algorithms_dir = no html' target='_blank'>value = no valuemcrypt.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教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答