Laravel 5.0,env() 在并发请求期间返回 null

标签 laravel laravel-5

问题是当我尝试使用 env('setting') 获取配置变量时或 \Config::get('setting') ,有时它返回 null。

出于测试原因,我创建了一个简单的路由:

Route::get('/test', function () {
    $env = env('SETTING');
    if (!$env) {
        \Log::warning('test', [$env]);
    }
});

然后我使用了 apache 基准测试。结果是这样的:
  • 一次只调用一个请求( ab -n 100 -c 1 http://localhost/test )没有问题,日志文件中没有记录
  • 调用 10 个并发请求 ( ab -n 100 -c 10 http://localhost/test ) 我得到了大约 20 行这样的: [2015-06-22 14:19:48] local.WARNING: test [null]

  • 有谁知道,可能是什么问题?我的配置或 php 设置中是否缺少某些内容?

    最佳答案

    这是 dotenv 包中的一个已知错误 - 请参阅此处的讨论
    https://github.com/laravel/framework/issues/8191

    关于Laravel 5.0,env() 在并发请求期间返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30982441/

    相关文章:

    php - 将数据从中间件传递到 View 或以其他方式在每个页面中显示特定数据

    php - 为什么 Laravel Eloquent 生成的 SQL 不带引号?

    PHP Trait 覆盖 protected Trait 方法

    php - Laravel 5 双向表登录

    php - 如何提高 Laravel 站点的安全性

    php - 在 Laravel 5 中获取数据库条目时的编码问题

    php - 从 Laravel 的 Blade View 导出 Excel

    php - OAuth2 - 调用未定义的方法 Authorizer::getResourceOwnerId()

    javascript - Laravel 实现动态侧边栏过滤器

    php - Laravel 5.6 - 如何从非关系表中获取发布数据?