【问题标题】:laravel artisan migrate give Mcrypto error in php 7.2 (CLI)laravel artisan migrate 在 php 7.2 (CLI) 中给出 Mcrypto 错误
【发布时间】:2018-07-28 09:25:15
【问题描述】:

我在 laravel 中有新的我已经在我的系统中设置了 laravel 5.5 并安装了它,但是当我开始使用 php artisan 迁移它的错误

Mcrypt PHP extension required

但是当我在浏览器上运行 phpinfo 时,有 mcrypt enable 但它显示

PHP Version 7.1.12

但是在终端运行时

php -v

结果

PHP 7.2.2-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 6 2018 16:11:23) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.2-3+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies 我认为 Mycrypt 没有安装在 cli php 中 我该如何修复它并制作一个 laravel 项目

提前致谢

【问题讨论】:

    标签: php laravel-5 artisan-migrate


    【解决方案1】:

    mcryptdeprecated in php7.1 并在 7.2 中删除。

    来自 Laravel 5.1 的发行说明:

    在以前的 Laravel 版本中,加密是由 mcrypt PHP 扩展处理的。但是,从 Laravel 5.1 开始,加密由 openssl 扩展处理,维护得更加积极。

    所以您应该使用openssl_encryptlibsodium 或其他受支持的库。

    当前启用的模块:

    $ php -m
    [PHP Modules]
    bcmath
    Core
    ctype
    curl
    date
    dom
    fileinfo
    filter
    ftp
    gd
    hash
    iconv
    intl
    json
    libxml
    mbstring
    mysqli
    mysqlnd
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    pdo_sqlite
    Phar
    posix
    readline
    Reflection
    session
    SimpleXML
    soap
    sodium
    SPL
    sqlite3
    standard
    tokenizer
    xml
    xmlreader
    xmlwriter
    Zend OPcache
    zip
    zlib
    
    [Zend Modules]
    Zend OPcache
    

    【讨论】:

    • 感谢您的回复,但由于 Lavavel 只需要 Mcrypto 库,因此如何管理。
    • 尝试安装openssl_encrypt/libsodium,这是我正在使用的扩展。我在 Laravel 5.5 和 5.6 上有应用程序,都没有使用 mcrypt。
    【解决方案2】:

    正如这里提到的:https://stackoverflow.com/a/37761637/8489245

    您可以尝试安装它:

    sudo apt-get update
    sudo apt-get install mcrypt php7.2-mcrypt
    sudo apt-get upgrade
    

    如果 php7.2-mycrypt 不存在,您可以尝试回到 php 7-0 版本并安装:

    sudo apt-get install mcrypt php7.0-mcrypt
    

    希望对你有帮助!

    【讨论】:

    • 问题是php有两个不同的版本!你能给我们更多关于7.1版的细节吗!例如,如果您使用 Xampp 或其他方式安装它?
    • 你能告诉我如何在 CLI 中将 7.2 移动到 7.1 吗?
    猜你喜欢
    • 1970-01-01
    • 2016-05-14
    • 2015-10-11
    • 2018-08-04
    • 2016-10-14
    • 2018-11-18
    • 2020-10-23
    • 2016-07-07
    • 2020-01-20
    相关资源
    最近更新 更多