我有新的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项目
提前致谢
答案 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)
mcrypt
为deprecated in php7.1,已在7.2中删除。
从Laravel 5.1的发行说明:
在早期版本的Laravel中,加密由mcrypt PHP扩展处理。但是,从Laravel 5.1开始,加密由openssl扩展处理,更加积极地维护。
因此,您应该使用openssl_encrypt,libsodium或其他受支持的库。
目前启用的模块:
$ 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