gpt4 book ai didi

php - Laravel 5.0.33 加载错误的 .env 文件

转载 作者:搜寻专家 更新时间:2023-10-31 21:29:08 26 4
gpt4 key购买 nike

我使用 Laravel 5.0.33,我的服务器上有以下文件夹:

/var/www/laravel_dev/  
/var/www/laravel_stage/
/var/www/laravel_production/

他们每个人都有自己的 .env 文件和数据库,但出于某种原因,他们每个人有时会加载错误的 .env 文件(比如每 100 个请求一次)。

我认为它加载了错误的 .env 文件,因为当我转储 env 数据库时:

var_dump(env('DB_DATABSE'));  

它有时会返回 laravel_dev 站点上的 laravel_production 数据库的名称。

我已经用 grep 搜索了 laravel_production 数据库名称,但它不在 dev 文件夹中。

我曾尝试将目录常量 (DIR) 转储到不同的地方,它总是正确的。

有没有人知道可能出了什么问题,或者我该如何进一步深入研究可能出了什么问题?

最佳答案

我最近也遇到了这个问题,想在这里分享我学到的东西,因为这是 Bing/Google 搜索中的最佳结果之一。

如果您在多线程 Web 服务器上运行时遇到此问题,那么这可能不是问题,直到多人访问服务器。

长话短说,使用 Laravel 使用的 dotenv 包不是线程安全的。你可以在这里看到关于它的讨论: https://github.com/vlucas/phpdotenv/issues/76

快速修复是运行:

artisan config:cache

我强烈建议在 .env 文件的顶部添加注释行:

# IMPORTANT! If you change ANYTHING in here make sure to run > artisan config:cache

希望对您有所帮助。

关于php - Laravel 5.0.33 加载错误的 .env 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32093709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com