1. ホーム
  2. php

[解決済み] PHP7.1、Laravel5.3。関数 mcrypt_get_iv_size() は非推奨です。

2022-02-08 18:30:53

質問

私はすべてのプロジェクトでLaravel 5.0を使用しています。昨日、PHPのバージョンを7.0.xからバージョン7.1.0に更新しました。アップデート後、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

この問題を解決する方法を教えてください。Laravel5.3を使えば解決するのでしょうか?Laravelを5.3にアップデートする気が起きないのですが、それは巨大なプロジェクトで、アップデートに時間がかかるからです。この2つのバージョンには多くの違いがあります。多くのコードを修正する必要があります。

この問題を解決する簡単な方法はありますか?

解決方法は?

このエラーが発生するのは、おそらく AES-256-CBC を暗号として config/app.php ファイルで、mcrypt 拡張に依存しています。おそらく、あなたは MCRYPT_RIJNDAEL_256 または MCRYPT_RIJNDAEL_128 ?

Laravelの本格的なアップグレードをしなくてもできる最善のことは、Laravelをインストールすることです。 レガシー暗号機 この暗号は、Laravel 5.1 以降のデフォルトの暗号です。これを実行すると、LaravelアプリケーションでPHP 7.1を使用することができるようになるはずです。