Centos参考:Centos下PHP7.2安装Mycrpt扩展的方法
mcrypt扩展,是一个加密库。
mcrypt扩展的主要问题在于它基于自2007年开发的libmcrypt。因此,它已经有10年了,该库仍在使用。
由于mcrypt扩展的开发已经结束,PHP 7.2中的扩展也被移除并转移到非官方的PECL存储库。PHP 7.2已经发布,但不会包含mcrypt扩展。对于PHP 7.2+,PHP改为使用libsodium作为加密库。
要在PHP 7.2上安装mcrypt扩展,请以服务器的root用户身份运行以下命令:
验证php和pecl版本
安装mcrypt扩展
|
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 trated 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"
|
确认扩展已安装
运行命令:
输出将如下所示:
|
/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
|
另一种方法如下,感觉是有点重复的,但还是记录一下,万一上面的方法不成功的时候可以选择
1.安装PECL
|
apt-get install php-peclBefore installing MCRYPT you must install libmcrypt
apt-get install libmcrypt-dev libreadline-dev
|
2.使用PECL安装MCRYPT 1.0.1
|
pecl install mcrypt-1.0.1
|
3.显示如下成功提示后,将extension=mcrypt.so写入php.ini
|
You should add "extension=mcrypt.so" to php.ini
|