www.adminn.cn
站长正能量分享网!

如何在php7.2/php7.3中安装mcrypt扩展?

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

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扩展

  1. sudo apt-get -y install gcc make autoconf libc-dev pkg-config 
  2.  
  3. sudo apt-get -y install libmcrypt-dev 
  4.  
  5. sudo pecl install mcrypt-1.0.1 

当你看到提示时

libmcrypt prefix? [autodetect] :

按[Enter]自动检测。

安装mcrypt trought pecl成功后,你应该将mcrypt.so扩展名添加到php.ini中。

输出将如下所示:

  1. Build process completed successfully 
  2.  
  3. Installing '/usr/lib/php/20170718/mcrypt.so'    —->   this is our path to mcrypt extension lib 
  4.  
  5. install ok: channel://pecl.php.net/mcrypt-1.0.1 
  6.  
  7. configuration option "php_ini" is not set to php.ini location 
  8.  
  9. You should add "extension=mcrypt.so" to php.ini 

获取安装路径并添加到cli和apache2 php.ini配置中。

  1. sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini" 
  2.  
  3. sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini" 

验证扩展是否已安装

运行命令:

php -i | grep "mcrypt"

输出将如下所示:

  1. /etc/php/7.2/cli/conf.d/mcrypt.ini 
  2.  
  3. Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.* 
  4.  
  5. mcrypt 
  6.  
  7. mcrypt support => enabled 
  8.  
  9. mcrypt_filter support => enabled 
  10.  
  11. mcrypt.algorithms_dir => no value => no value 
  12.  
  13. 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

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何在php7.2/php7.3中安装mcrypt扩展?》
文章链接:https://www.adminn.cn/news/7729.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏