本文主要介紹了關于解決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即可
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對的支持。