這篇文章主要給大家介紹了關於解決laravel 5.1報錯:No supported encrypter found的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友可以參考借鑒,下面來一起看看吧。
本文主要介紹了解決laravel 5.1報錯:No supported encrypter found的辦法,分享出來供大家參考學習,下面來看看詳細的介紹:
#問題描述
在使用laravel5.1進行專案開發的時候,出現了「No supported encrypter found. The cipher and / or key length are invalid.」的報錯訊息,導致頁面無法顯示。
網路上的絕大多數答案都是直接執行PHP artisan key:generate
即可。有些人發現可行,有些人沒有解決。
解決方法
首先解決這個問題的第一步是要看config/app.php中的cipher值:
1. 如果cipher的值是AES-256-CBC,那麼透過產生新的key,然後重新啟動nginx和php-fpm就可以解決。這時產生的新key就會直接寫入到.env檔內。
2. 但如果cipher是其他值,例如rijndael-256,就需要安裝和啟動mcrypt模組。 AES-256-CBC不需要的原因是因為AES-256-CBC演算法對應的底層是用openssl實現的,而與mcrypt無關。 rijndael-256則是依賴mcrypt模組。
檢查mcrypt是否安裝。方法可以是執行php -r “<a href="http://www.php.cn/wiki/1362.html" target="_blank">print</a>_r(<a href="http://www.php.cn/wiki/809.html" target="_blank">mcrypt_list_algorithms</a>());”
有無輸出結果,還有一種是查看<a href="http://www.php.cn/wiki/660.html" target="_blank">phpinfo</a>()
資訊。
如果已經安裝了就啟動mcrypt模組。
方法是執行:php5enmod mcrypt
#最後重啟nginx和php-fpm即可
總結
以上是php實例-解決laravel 5.1錯誤:No supported encrypter found的辦法的詳細內容。更多資訊請關注PHP中文網其他相關文章!