站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

laravel中env获取不到数据怎么办

时间:2022-06-07 [网络编程]作者:fabuyuan 浏览:4 次

laravel中,可用“php artisan config:clear”语句清除config缓存,解决env获取不到数据的问题;该问题产生的原因是缓存配置文件通过env函数读取环境变量,可能会导致该读取不到环境变量,所以返回null。

本文操作环境:Windows10系统、Laravel5.4版、Dell G3电脑。

laravel中env获取不到数据怎么办

解决方案:

清除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 函数读取。

【相关推荐:laravel视频教程

以上就是laravel中env获取不到数据怎么办的详细内容,更多请关注站长家园其它相关文章!

本文标签:  Laravel

转载请注明来源:laravel中env获取不到数据怎么办

本文永久链接地址:https://www.adminjie.com/post/13196.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • 归纳总结Excel超级表的应用

      归纳总结Excel超级表的应用

      本篇文章给大家带来了关于excel的相关知识,其中主要整理了超级表应用的相关问题,包括了制作表格、汇总、动态范围等等内容,下面一起来看一下,希望对大家有帮助。手...

    • 简单聊聊JavaScript中的事件监听事件的传播

      简单聊聊JavaScript中的事件监听事件的传播

      本篇文章给大家带来了关于javascript的相关知识,其中主要整理了事件监听的相关问题,包括了什么是事件监听、设置事件监听的方法等等内容,下面一起来看一下,希...

    • 一文掌握Java8新特性Stream流的概念和使用总结

      一文掌握Java8新特性Stream流的概念和使用总结

      本篇文章给大家带来了关于java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流...

    • Python图像处理之PIL库

      Python图像处理之PIL库

      本篇文章给大家带来了关于python的相关知识,其中主要整理了PIL库的相关问题,PIL库是一个具有强大图像处理能力的第三方库,不仅包含了丰富的像素、色彩操作功...

    • Redis集群操作实例详解

      Redis集群操作实例详解

      本篇文章给大家带来了关于Redis的相关知识,其中主要整理了集群操作的相关问题,包括了增加redis实例、配置8007为主节点、配置8008为8007的从节点等...

    热门文章