.env 文件无法读取

新服务器配置好环境建立新网站后无法访问,查看日志错误如下:

production.ERROR: No application encryption key has been specified

原本认为只是.env文件中的APP_KEY为空,检查后发现.env文件存在,APP_KEY也存在,于是我做了以下几个尝试:
一、根据网上的相关回答,怀疑是config被缓存了,于是采用

php artisan config:clear

清理缓存,结果无效,于是又测试

php artisan config:cache

发现有效果,网站正常,但是清空config缓存后网站依然无法运行,怀疑是不是网站读取不到.env文件,于是又做了第二个测试。

二、怀疑是否因为我的网站中的某些修改导致无法读取.env文件,于是使用composer创建一个新的应用,结果依然是无法访问,报错结果还是

production.ERROR: No application encryption key has been specified

三、怀疑安装环境的过程中出了问题,我环境使用的是阿里云+宝塔面板(centos 7.8),于是重置了磁盘,重新安装了宝塔,中间没出任何问题,安装完之后使用composer创建一个新的应用,结果依然是不行,报错

production.ERROR: No application encryption key has been specified

我总结出的结果是.env文件无法识别,这波操作我做过几十遍,从来没遇到过问题,这回唯一不一样的就是我挂在了一个固态云盘到www目录,目前自己的能力暂时找不到出现问题的原因,希望知道的大佬能帮忙解答下

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

你是宝塔环境?

4年前 评论
佛布朗斯基 (作者) 4年前
Janpun (楼主) 4年前
Janpun (楼主) 4年前
佛布朗斯基 (作者) 4年前
Janpun (楼主) 4年前
wuyuehuakai 3年前
讨论数量: 23
直面苦痛的人生

linux与windows大小写的问题

4年前 评论
Janpun (楼主) 4年前
直面苦痛的人生 (作者) 4年前
php artisan key:generate
  1. 错误原因已经表述得很清楚了,key 没有设置
  2. 花这么长时间组织语言和描述心理路程,其实借助搜索引擎早知道答案了

PS:我一直以为只是我的同事们不学无术,直到我学会了上网

4年前 评论
Janpun (楼主) 4年前
Hachiko (作者) 4年前

看看是不是env文件的用户组,权限什么的出现问题。例如是不是你env是root创建的,但是你网站程序用户是www的,所以没有权限读取

4年前 评论
Janpun (楼主) 4年前
leo 4年前
没前途的程序员 (作者) 4年前

文件最后面加个回车

4年前 评论
Janpun (楼主) 4年前

env("APP_ENV") 可以读取吗?

如果.env内容不重要, 也截屏看看吧。

4年前 评论

在php的禁用函数中删除 putenv

4年前 评论
Janpun (楼主) 4年前

@lyxxxh

APP_NAME=xxx
APP_ENV=production
APP_KEY=xxx
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_LOG=daily
APP_URL=https://xxx.cn

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=xxx
DB_USERNAME=xxx
DB_PASSWORD=xxx

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

# dingo config
API_STANDARDS_TREE=prs
API_SUBTYPE=xxx
API_PREFIX=api
API_VERSION=v1
API_DEBUG=true

这是env文件,隐私信息已经用xxx代替了

4年前 评论

你是宝塔环境?

4年前 评论
佛布朗斯基 (作者) 4年前
Janpun (楼主) 4年前
Janpun (楼主) 4年前
佛布朗斯基 (作者) 4年前
Janpun (楼主) 4年前
wuyuehuakai 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!