我所有的项目都在使用Laravel 5.0.昨天,我从7.0更新了我的PHP版本.x到7.1.0版.更新后,我try 打开我的Laravel项目,看到以下消息:

ErrorException in Encrypter.php line 303: 
Function mcrypt_get_iv_size() is deprecated

in Encrypter.php line 303
at HandleExceptions->handleError('8192', 'Function mcrypt_get_iv_size() is deprecated', 'C:\wamp64\www\project1\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php', '303', array()) in Encrypter.php line 303

我可以知道我怎样才能解决这个问题吗?使用Laravel 5.3解决问题了吗?我不想把我的Laravel更新到5.3,因为这是一个巨大的项目,需要很长时间才能更新.这两个版本差别太大了.很多代码需要修改.

Is there an easier way to solve this issue?

推荐答案

This error occurs because you probably have something other than AES-256-CBC as your cipher in your config/app.php file that depends on the mcrypt extension. Perhaps you are using MCRYPT_RIJNDAEL_256 or MCRYPT_RIJNDAEL_128?

如果不进行全面的Laravel升级,最好的办法就是安装legacy encrypter,并使用它更新所有加密数据,以使用AES-256-CBC密码,我相信这是自Laravel 5.1以来的默认密码.一旦你做到了这一点,你应该能够为你的Laravel应用程序使用PHP7.1.

Laravel相关问答推荐

Livewire 3软件包开发

如何在使用Docker容器部署Laravel 8、9、10时处理SIGTERM信号,特别是与调度程序和工作进程相关的问题?

将 ID 传递给资源控制器进行编辑

V-icon 在 Vuetify 3 中不显示图标

无法找到用户sail:passwd 文件中没有匹配的条目

如何将用户对象绑定到中间件中的请求

如何更新 Laravel 4 中现有的 Eloquent 关系?

如何使用 Laravel Passport 在 API 中正确实现 OAuth?

Laravel API 版本控制文件夹 struct

从 Laravel Session 数组中删除项目

Blade引擎:打印三重花括号

带有消息...必须返回关系实例的 LogicException.

Laravel vagrant up 不工作 - Errno::EADDRNOTAVAIL

设置 Laravel 5.4 以使用 React

Eloquent - 更新集合中的所有模型

如何在 laravel 4 中删除文件

Select,where JSON 包含数组

是否可以在 Laravel 的不同数据库中引用外键?

Laravel 更新后用户模型错误(用户类包含 3 个抽象方法)

在 Laravel 中翻译特定语言