Laravel 项目迁移到新的环境中,.env 文件也是从原有项目下复制过来的,但在访问项目时,页面直接报错,APP_DEBUG 开启状态,但没有起作用,APP_URL 项修改也没有作用。

通过错误日志查看到错误信息:No supported encrypter found. The cipher and / or key length are invalid。网上搜搜都是要执行 php artisan key:generate 生成密钥的。但项目是迁移过来的,密钥本身是存在。

通过对比两个环境里 php 的配置项,得到了问题的答案:新环境 bt 面板没有删除掉被禁用的函数 putenv,而这个函数与 .env 文件的去写息息相关,删除掉之后,访问恢复正常。