这篇文章主要给大家介绍了关于解决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即可
总结
Atas ialah kandungan terperinci php实例-解决laravel 5.1报错:No supported encrypter found的办法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!