• 技术文章 >后端开发 >php教程

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

    藏色散人藏色散人2019-03-27 10:10:58原创9455
    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

    相关推荐:《PHP教程

    本篇文章就是关于在php7.2 / php7.3中安装mcrypt扩展的方法介绍,希望对需要的朋友有所帮助!

    以上就是如何在php7.2/php7.3中安装mcrypt扩展?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php安装mcrypt
    上一篇:php中的内存管理的介绍 下一篇:php中如何使用C语言写扩展
    大前端线上培训班

    相关文章推荐

    • linux下php安装pathinfo• PHP安装zip拓展与libzip步骤详解• Centos 下php安装配置xdebug扩展• CentOS系统中PHP安装扩展的方式汇总

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网