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教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答