【问题标题】:Laravel does not read env variablesLaravel 不读取环境变量
【发布时间】:2017-08-13 14:19:13
【问题描述】:

有人对env 变量有疑问吗?出于某种原因,每次我使用助手env('VARIABLE') 时都会返回null。它发生得非常意外,我真的不知道原因。重启apache/IDE/电脑不起作用。

【问题讨论】:

    标签: laravel environment-variables laravel-artisan


    【解决方案1】:

    运行那些命令

    composer dump-autoload
    php artisan cache:clear
    php artisan config:clear
    php artisan view:clear
    

    现在尝试阅读

    $value = env('VARIABLE_NAME');
    

    如果到现在还没有工作,

    尝试另一种语法来读取环境变量。

    $value=getenv('VARIABLE_NAME');
    

    【讨论】:

    • 提示:一次清空各种缓存。只需运行“php artisan optimize:clear”
    【解决方案2】:

    解决方案很简单,但 IDE 和调试器都没有说明。它只返回null。当你使用php artisan config:cache时,根据文档:

    如果您在部署过程中执行php artisan config:cachecommand,您应该确保您只是在您的配置文件中调用env()函数。

    显然我在配置文件之外有env 变量,所以在缓存之后我不能再在外面使用它了。 php artisan config:clear 让它恢复工作。

    我发现更多关于env 用法的信息,它应该在配置文件中使用。您可以使用其他辅助方法config() 从项目的其余部分访问env 变量。确保将其分配给配置文件中的另一个键,例如'key' => env('CACHE_DRIVER')

    更重要的是,每次更改.env 文件时,您必须记住运行php artisan config:cache。 Laravel 不会加载新值,直到它被缓存。如果没有缓存,则无需缓存。

    【讨论】:

      【解决方案3】:

      请使用它对我的工作使用 git bash 或 cmd 并通过此命令

      $ rm bootstrap/cache/config.php
      

      此命令清除缓存文件夹

      【讨论】:

        【解决方案4】:

        就我而言,只是因为我正在使用php artisan serve,只需重新启动它,服务器命令可能会读取env并在启动时保留。

        【讨论】:

          【解决方案5】:

          快跑

          php artisan config:clear
          

          它解决了我的问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-02-25
            • 2021-08-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-11-27
            • 2021-03-08
            相关资源
            最近更新 更多