2017-02-17 157 views
1

我只是部署我laravel功能mcrypt_get_iv_size()已經過時 - Heroku的

5.0

網站的Heroku。 我相信Heroku默認使用PHP 7.1。

我做的一切,最後它得到部署,但我看到的錯誤我的網頁上

功能mcrypt_get_iv_size()已過時


配置/ app.php

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

enter image description here

我已經運行php artisan key:generate

任何提示我如何防止?

+1

是啊,[它棄用沒事](HTTPS ://secure.php.net/manual/en/function.mcrypt-get-iv-size.php)。你有什麼問題? – Chris

+2

升級到[Laravel 5.1](https://laravel.com/docs/5.4/releases#laravel-5.1)或更高版本可能會有所幫助:「在以前的Laravel版本中,加密由'mcrypt' PHP擴展處理。 ,從Laravel 5.1開始,加密由'openssl'擴展來處理,這個擴展更爲主動。「 – Chris

+0

它在PHP 5.6上的本地L 5.0上工作。我應該更新我的Laravel到5.1/5.2/5.3嗎?或在Heroku上將我的PHP降級到5.6?它甚至有可能嗎?你有什麼建議嗎? – ihue

回答

0

正如你所發現的,mcrypt_get_iv_size() is deprecated as of PHP 7.1

升級到Laravel 5.1或更高版本應使此警告消失,因爲它爲uses openssl instead of mcrypt

請注意,Laravel 5.1(長期支持版本)將從its release in July, 2016receive two years of bug fixes and three years of security fixes。非LTS版本會獲得六個月的錯誤修復和一年的安全修復。

我建議將您的開發環境升級到最新版本的PHP,然後升級到最新版本或最新的LTS版本,並確保您的應用程序仍然按預期工作。

一旦你快樂,推送到Heroku。

0

此方法爲我工作:

$iv_size = openssl_cipher_iv_length('AES-256-CBC');//16 

或者

;否則可以使用其他git倉庫 「defuse/php-encrption」 現有版本工作

相關問題