laravel artisan migrate在php 7.2(CLI)中给出了Mcrypto错误

时间:2018-02-17 17:54:49

标签: php laravel-5 artisan-migrate

我有新的laravel我已经在我的系统中设置了laravel 5.5并且已经安装了但是当我开始使用php artisan migrate时会给出错误

Mcrypt PHP extension required

但是当我在浏览器上运行phpinfo时,会启用mcrypt,但它会显示

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项目

提前致谢

2 个答案:

答案 0 :(得分:1)

如前所述: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

希望对你有所帮助!

答案 1 :(得分: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