本文主要介紹了關(guān)于解決laravel 5.1報(bào)錯(cuò):No supported encrypter found的辦法,分享出來供大家參考學(xué)習(xí),下面來看看詳細(xì)的介紹:
問題描述
在使用laravel5.1進(jìn)行項(xiàng)目開發(fā)的時(shí)候,出現(xiàn)了“No supported encrypter found. The cipher and / or key length are invalid.”的報(bào)錯(cuò)信息,導(dǎo)致頁面無法顯示。
網(wǎng)上的絕大多數(shù)答案都是直接執(zhí)行PHP artisan key:generate
即可。有些人發(fā)現(xiàn)可行,也有些并沒有解決。
解決方法
首先解決這個(gè)問題的第一步是要看config/app.php中的cipher值:
1. 如果cipher的值是AES-256-CBC,那么通過生成新的key,然后再重啟nginx和php-fpm就可以解決。這時(shí)生成的新key就會(huì)直接寫入到.env文件內(nèi)。
2. 但如果cipher是其他值,例如rijndael-256,就需要安裝和啟動(dòng)mcrypt模塊。AES-256-CBC不需要的原因是因?yàn)锳ES-256-CBC算法對(duì)應(yīng)的底層是用openssl實(shí)現(xiàn)的,而與mcrypt無關(guān)。rijndael-256則是依賴于mcrypt模塊。
檢查mcrypt是否安裝。方法可以是執(zhí)行php -r “print_r(mcrypt_list_algorithms());”
有無輸出結(jié)果,還有一種是查看phpinfo()
信息。
如果已經(jīng)安裝了就啟動(dòng)mcrypt模塊。
方法是執(zhí)行:php5enmod mcrypt
最后重啟nginx和php-fpm即可
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)的支持。