这是Ubuntu版本,没错的,我就是为了增加文章量而发2篇文章的。
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版本php -v
pecl version
安装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"
确认扩展已安装
运行命令: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
另一种方法如下,感觉是有点重复的,但还是记录一下,万一上面的方法不成功的时候可以选择
1.安装PECLapt-get install php-peclBefore installing MCRYPT you must install libmcrypt
apt-get install libmcrypt-dev libreadline-dev
2.使用PECL安装MCRYPT 1.0.1pecl install mcrypt-1.0.1
3.显示如下成功提示后,将extension=mcrypt.so写入php.iniYou should add "extension=mcrypt.so" to php.ini