当前位置: 首页 > 知识库问答 >
问题:

Laravel 5.2不读取环境文件

唐运诚
2023-03-14

升级到Laravel 5.2后,没有读取我的. env文件值。我按照升级说明;没有我的配置文件被更改,除了auth.php.他们都在以前的版本,5.1.19正常工作

。env包含以下值

DB_DATABASE=mydb
DB_USERNAME=myuser

config/database。php包含

'mysql' => [
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
]

我得到这个错误:

PDOException: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)

显然没有拉我的环境配置。这影响到我的每一个配置文件,包括第三方,如bugsnag。

我也试过

php artisan config:clear
php artisan cache:clear

使现代化

正在尝试php artisan tinker

>>> env('DB_DATABASE')
=> null
>>> getenv('DB_DATABASE')
=> false
>>> config('database.connections.mysql.database')
=> "forge"
>>> dd($_ENV)
[]

我已尝试安装Laravel 5.2的新副本。我基本上只在我的app文件夹中复制;不包括其他作曲家软件包。仍然有同样的问题。我在同一台服务器上还有其他Laravel5.2项目,它们运行良好。


共有3个答案

杨轶
2023-03-14

哇。好悲痛。这是因为我有一个带有空格的环境值,而不是被引号包围

这个啊

SITE_NAME=My website

改成这个

SITE_NAME="My website"

修好了。我认为这与Laravel5.2现在将vlucas/phpdotenv从1.1升级有关。1至2.1。0

公冶翰池
2023-03-14

从官方Laravel 5.2升级说明:

如果在部署期间使用config:cache命令,则必须确保仅从配置文件中调用env函数,而不是从应用程序中的任何其他位置调用。

如果您是从应用程序内部调用env,强烈建议您向配置文件中添加适当的配置值,然后从该位置调用env,从而将env调用转换为config调用。

参考:https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0

纪畅
2023-03-14

如果任何. env变量包含空格,请确保用双引号包装它们。例如:

SITE\u NAME=“我的网站”

测试前不要忘记清除缓存:

php artisan config:cache
php artisan config:clear
 类似资料:
  • 问题内容: 升级到Laravel 5.2后,没有任何文件值被读取。我遵循了升级说明;除auth.php外,我的所有配置文件均未更改。它们在以前的版本5.1.19中都正常工作 包含诸如 包含 我收到此错误: 显然没有拉入我的环境配置。这正在影响我的每个配置文件,包括第三方(例如bugsnag)。 我也试过 更新资料 试 我尝试安装Laravel 5.2的新副本。我基本上只复制到我的文件夹中;不包括其

  • 5.3.1 $%envVarName% 当编译时,$%envVarName% 将会被环境变量 envVarName 替换。

  • 在Jenkins中,我试图设置一个动态环境变量。 我使用Scriptler创建了一个Groovy脚本并将结果写入文件。 然后,我使用EnvInject来读取该文件的内容。 Groovy脚本: 设置: 但是,我想要设置的环境变量仍然无法识别: 知道为什么无法识别环境变量吗?

  • 问题内容: 我正在尝试从批处理文件中读取变量,以供以后在批处理脚本(这是Java启动器)中使用。理想情况下,我希望所有平台(Unix,Windows)上的设置文件具有相同的格式,并且也是一个有效的Java属性文件。也就是说,它应如下所示: 是否可以像在Unix shell脚本中一样读取这些值?罐子应该看起来像这样: 我知道可以使用来实现,但是我真的希望所有平台上的设置都使用相同的文件格式。 需要说

  • 本文向大家介绍详解springboot + profile(不同环境读取不同配置),包括了详解springboot + profile(不同环境读取不同配置)的使用技巧和注意事项,需要的朋友参考一下 具体做法: 不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中;prod环境下的配置配置在application-prod.prope

  • 问题内容: 有没有办法在Node.js代码中读取环境变量? 例如Python的。 问题答案: process.env.ENV_VARIABLE 您要访问的变量的名称在哪里。