当前位置:  开发笔记 > 编程语言 > 正文

Laravel 5.2没有读取env文件

如何解决《Laravel5.2没有读取env文件》经验,为你挑选了13个好方法。

升级到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)

显然没有拉我的env配置.这会影响我的每个配置文件,包括第三方,如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"文件夹中; 没有包含额外的作曲家包.还有同样的问题.我在同一台服务器上有其他Laravel 5.2项目正常工作.



1> Gaurav Gupta..:

从官方Laravel 5.2升级说明:

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

如果您env在应用程序中进行呼叫,强烈建议您在配置文件中添加正确的配置值,并env从该位置进行呼叫,以便将env呼叫转换为config呼叫.

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


Laravel 5.3`php artisan config:clear`是唯一对我有用的东西
`php artisan config:cache`为我解决了 - 没有其他任何帮助.甚至不是`php artisan config:clear` - 谢谢!
Laravel 5.4 - 部署在VPS上:`php artisan config:clear`为我工作.我之前没有做config:cache,所以我必须清除缓存似乎有点奇怪.

2> 小智..:

如果您的任何.env变量包含空格,请确保将它们用双引号括起来.例如:

SITE_NAME="My website"

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

php artisan config:cache
php artisan config:clear



3> andrewtweber..:

哇.好悲伤.这是因为我有一个带有空格的env值,而不是用引号括起来

这个

SITE_NAME=My website

改成了这个

SITE_NAME="My website"

固定它.我认为这与Laravel 5.2有关,现在将vlucas/phpdotenv从1.1.1 升级到2.1.0


这是我与Laravel的许多错误之一:它有一种习惯,有时会默默地忽略和接受各种配置和/或其他类型的错误,没有任何迹象表明出现了问题.鉴于,这可能是`phpdotenv`的"特征",但是Laravel仍然知道有一个需要包含的`.env`文件,并且它没有成功,但是不想告诉任何人.
我已经在一些愚蠢的事情上浪费了时间。谢谢您阻止我浪费更多!

4> Deric Lima..:

我有一个类似的问题,我config/services.php解决了使用config clearoptimize命令:

php artisan config:clear
php artisan optimize



5> Ganesh K..:

运行这个:

php artisan config:clear
php artisan cache:clear

然后
php artisan config:cache



6> TrOnNe..:

对我来说,它按以下顺序工作:

php artisan config:cache
php artisan config:clear
php artisan cache:clear

而且我尝试了所有其他方法而没有运气。


经过几个小时的调试,此命令解决了我的问题。

7> 小智..:

我对当地环境有同样的问题,我解决了

    php artisan配置:清除

    php artisan config:cache

    然后取消php artisan serve命令,然后重新启动.



8> dKen..:

我在升级说明中错过了这个:

app.php配置文件中添加一个env配置选项,如下所示: 'env' => env('APP_ENV', 'production')

添加此行.env可以正确读取本地文件.



9> Shahrukh Anw..:

当你发出命令php artisan config:cache然后它将消灭所有env变量env()并将给出空值,尝试运行follwing命令并繁荣那里你env()再次开始捕获所有env变量

php artisan config:clear



10> 小智..:

对我来说,以下工作

- php artisan config:cache
- php artisan config:clear
- php artisan cache:clear



11> Adam Kozlows..:

简单就是力量:

php artisan config:cache

您将收到:

配置缓存已清除!

配置缓存成功!



12> 小智..:

使用以下方法删除缓存:

    php artisan config:clear
    php artisan config:cache



13> 小智..:

当:port在本地.env中时,也会发生同样的事情

再次使用双引号可以解决问题

APP_URL="http://localhost:8000"

然后

php artisan config:clear

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有