我爲所有項目使用Laravel 5.0。昨天,我已經將我的PHP版本從7.0.x更新到了7.1.0版本。更新完畢後,我試圖打開我的Laravel項目,看到下面這條消息:PHP7.1和Laravel 5.3:函數mcrypt_get_iv_size()已棄用
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,因爲這是一個巨大的項目,需要很長時間才能更新。這兩個版本之間有太多的區別。許多代碼需要修改。
有沒有更簡單的方法來解決這個問題?
你不能使用'openssl_cipher_iv_length'嗎? – Irvin
最好不要使用mcrypt,它是棄用的,多年未更新,不支持標準的PKCS#7(néePKCS#5)填充,只有非標準的null填充甚至不能用於二進制數據。 mcrypt有很多優秀的[bug](https://sourceforge.net/p/mcrypt/bugs/),可以追溯到2003年.mcrypt-extension已被棄用,將在PHP 7.2中被刪除。請考慮使用[defuse](https://github.com/defuse/php-encryption)或[RNCryptor](https://github.com/RNCryptor),他們提供了一個完整的解決方案,並且正在維護和正確。 – zaph