部署laravel报错:No supported encrypter found. The cipher and / or key length are invalid.

一、背景

把laravel项目部署到服务器上。访问时候,报错信息为:

No supported encrypter found. The cipher and / or key length are invalid.

原因:config/app.php中有一个关于秘钥类型的配置,默认设置为AES-256-CBC,也就是对应的秘钥必须是32个字符,而默认配置中写的是SomeRandomString,只有16个字符。当然我们可以通过将cipher设置为AES-128-CBC来解决这个问题。

二、解决方案

如果不想用SomeRandomString的话,也可以生成一个秘钥:

//指向下面的命令
php artisan key:generate
Application key [tFnLJ1Wo4647KlYxvCsjfMfI2VK5u2Rb] set successfully.

把生成的新秘钥替换到 SomeRandomString的位置上。
并且修改 AES-128-CBC 改为:AES-256-CBC

三、其他问题

1、权限问题

访问的时候,会经常出现文件权限不足的情况。特别是日志文件,缓存文件等。碰到这种问题,根据错误提示,修改文件的权限即可。

chmod 777 -R 文件名

2、.env文件问题

.env文件是非常私密的文件。我们在通过版本控制器,比如git开发的时候,这个文件不应该通过git传输。此时,我们需要设置git的忽略属性,忽略提交.env文件到码云

1)打开 .gitignore文件

2)文件中加上.env即可

//代表每次提交忽略.env文件
.env

相应的,我们在部署项目到服务器上的时候,是没有.env文件的。此时可以通过ftp上传本地.env到服务器。或者在服务器新建.env

//复制.env.example文件。重命名为.env
cp .env.example .env
//修改.env中的数据库配置,以及其他配置即可

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值