這篇文章主要給大家介紹了關於解決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 “print_r(mcrypt_list_algorithms());”
有無輸出結果,還有一種是查看phpinfo()
資訊。
如果已經安裝了就啟動mcrypt模組。
方法是執行:
php5enmod mcrypt
最後重啟nginx和php-fpm即可
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
如何解決PHP中Fatal error session_start()的錯誤
如何解決PHP基於DateTime類Unix時間戳與日期互轉的問題
#
以上是如何解決laravel 5.1的報錯No supported encrypter found的詳細內容。更多資訊請關注PHP中文網其他相關文章!