Laravel项目中env获取不到数据怎么办,如何解决
Admin 2022-06-14 群英技术资讯 1492 次浏览
这篇文章主要介绍了Laravel项目中env获取不到数据怎么办,如何解决相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Laravel项目中env获取不到数据怎么办,如何解决文章都会有所收获,下面我们一起来看看吧。在laravel中,可用“php artisan config:clear”语句清除config缓存,解决env获取不到数据的问题;该问题产生的原因是缓存配置文件通过env函数读取环境变量,可能会导致该读取不到环境变量,所以返回null。

本文操作环境:Windows10系统、Laravel5.4版、Dell G3电脑。
解决方案:
清除config缓存命令
php artisan config:clear
原因
在 Laravel 中,如果执行 php aritisan config:cache 命令,Laravel 将会把 app/config 目录下的所有配置文件“编译”整合成一个缓存配置文件到 bootstrap/cache/config.php,每个配置文件都可以通过 env 函数读取环境变量,这里是可以读取的。但是一旦有了这个缓存配置文件,在其他地方使用 env 函数是读取不到环境变量的,所以返回 null.
让我们看看这段代码,Illuminate/Foundation/Bootstrap/DetectEnvironment.php line 18:
public function bootstrap(Application $app){
if(!$app->configurationIsCached()){
$this->checkForSpecificEnvironmentFile($app);
try{
(newDotenv($app->environmentPath(),$app->environmentFile()))->load();
}catch(InvalidPathException$e){
}
}
}这个方法在框架启动后就会运行,这段代码说明了如果存在缓存配置文件,就不会去设置环境变量了,配置都读缓存配置文件,而不会再读环境变量了。
因此,在配置文件即 app/config 目录下的其他地方,读取配置不要使用 env 函数去读环境变量,这样你一旦执行 php artisan config:cache 之后,env 函数就不起作用了。所有要用到的环境变量,在 app/config 目录的配置文件中通过 env 读取,其他地方要用到环境变量的都统一读配置文件而不是使用 env 函数读取。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家整理的是一篇关于PHP随机生成用户信息实例分析内容,对此有兴趣的朋友们可以测试参考下。
Laravel 路由是开发人员从一开始就学习的特性。但是随着他们项目的增长,管理不断增长的路由文件变得越来越困难,经常需要滚动查找正确的 Route::get() 语句。幸运的是,有一些技术可以使路由文件更短、更易读,让我们来看看以不同的方式对路由及其设置进行分组。
php查询mysql文件的方法:首先使用“mysql_connect”函数连接mysql数据库;然后通过“mysql_select_db”选择指定的mysql数据库;最后通过“mysql_query”方法实现查询即可。
RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。本文将利用PHP实现RPC,需要的可以参考一下
Swoole是一个由C语言编写,支持PHP语言的异步多线程服务器,它的功能包括异步TCP/UDP网络客户端,异步MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询等。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008