如何在php7.2/php7.3中安装mcrypt扩展?
发布:smiling 来源: PHP粉丝网 添加日期:2020-02-07 20:44:06 浏览: 评论:0
mcrypt 是php里面重要的加密支持扩展库,linux环境下该库在默认情况下不开启。window环境下,PHP>=5.3,默认开启mcrypt扩展。mcrypt扩展是mcrypt加密库的接口。这个扩展对于允许使用mcrypt的PHP代码在PHP 7.2+上运行非常有用。
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
Tags: php7 2 php7 3 mcrypt
- 上一篇:php中的内存管理的介绍
- 下一篇:PHP中DES加解密的代码示例
相关文章
- ·PHP7扩展开发之传参与返回值(2018-06-13)
- ·PHP7.1和7.2 新增功能详解(2020-02-05)
- ·PHP7 新特性之?:和??的区别(2020-03-22)
- ·深入浅析PHP7.0新特征(五大新特征)(2021-06-23)
- ·php7安装openssl扩展方法(2021-09-05)
- ·可兼容php5与php7的cURL文件上传功能实例分析(2021-09-17)
- ·php7新特性的理解和比较总结(2021-11-17)
- ·PHP7 mongoDB扩展使用的方法分享(2021-11-20)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·php utf-8转换gb2312 字符串被截断解决方法(2013-11-29)
- ·PHP utf-8和gb2312编码转换乱码的问题(2013-12-02)
- ·Fatal error: Allowed memory size of 33554432 bytes exhausted(2013-12-07)
- ·PHP5中使用Web服务访问J2EE应用程序(2013-12-08)
- ·php实现301永久重定向和302临时重定向方法(2014-06-30)
- ·phpmyadmin只能导入2048kb .sql文件解决办法(2014-07-25)
- ·解决PHP程序上传最大2M问题解决方法(2014-09-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)