解决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即可

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

您可能有感兴趣的文章
一篇关于mongoose连接mongodb重复访问报错的如何解决办法

MongoDB启动报错 28663 Cannot start server

基于php双引号中访问数组元素报错的解决方法

Laravel 5.4因特殊字段太长导致migrations报错的解决

三个思路解决laravel上传文件报错:413 Request Entity Too Large问题