函数 mcrypt_get_iv_size() 在运行 PHP 7.1.0 的 MAMP 上的 Laravel 4.2 中已弃用

Posted

技术标签:

【中文标题】函数 mcrypt_get_iv_size() 在运行 PHP 7.1.0 的 MAMP 上的 Laravel 4.2 中已弃用【英文标题】:Function mcrypt_get_iv_size() is deprecated in Laravel 4.2 on MAMP running PHP 7.1.0 【发布时间】:2017-06-20 19:14:03 【问题描述】:

我刚刚升级了我的 MAMP 服务器以运行 7.1.0。我现在在安装 Laravel 4.2 时遇到此错误;

Function mcrypt_get_iv_size() is deprecated 

我尝试过改变

'cipher' => MCRYPT_RIJNDAEL_128,

'cipher' => 'AES-256-CBC',

但无济于事。

有人知道如何在 Laravel 4.2 中解决这个问题吗?

不是 cmets 中解释的重复项。

【问题讨论】:

mcrypt 将在 php 7.2 中删除。该库已弃用,而不是加密方式。使用openssl。 好的,你知道我可以做些什么来升级 Laravel 4.2 以使其正常工作吗? 最好升级到 Laravel 5打开 GitHub 问题 Laravel requires the Mcrypt PHP extension的可能重复 你的 Laravel 版本使用 mcrypt。 PHP 已弃用它。 Laravel 需要更新,或者您需要坚持与您的 Laravel 版本兼容的 PHP 版本。不知道还有什么要说的。 【参考方案1】:

你应该升级你的 laravel 项目。 mcrypt 在 php 7.1 中已弃用。

如果您没有时间升级,您可以在您的 php 配置中禁用弃用警告(或在任何 mcrypt 函数之前添加 @)。

小心!它将在 7.2+ 中完全删除

编辑:对于 php 7.2,它已在核心中删除,但您可以将 mcryt 添加为 pecl 扩展。

【讨论】:

谢谢,我把 @ 符号放在了 Encrypter.php 文件中错误指向的几行之前。我知道我应该升级,但现在就可以了…… 当你说“现在可以这样做”时,是你的观点还是用户的观点? 这是我的。

以上是关于函数 mcrypt_get_iv_size() 在运行 PHP 7.1.0 的 MAMP 上的 Laravel 4.2 中已弃用的主要内容,如果未能解决你的问题,请参考以下文章

将此php加密函数转换为python

mcrypt安装问题

在PHP中解密密码[关闭]

Mcrypt解密不起作用 - PHP

PHP 7 中的三重 DES Mcrypt 替换

Mcrypt弃用后如何解密?