php - Forge 不读取我的 Laravel 5 环境变量

标签 php mysql laravel-5

这应该很容易,但事实并非如此。这是 Laravel 5 中 MySQL 数据库的默认设置。

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'forge'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

我在生产服务器上运行了 php artisan env 并获得了 production。我在 Forge 上使用正确的键设置我的环境变量。但是当我在生产服务器上运行 artisan 时,我得到一个错误:'Access denied for user 'forge'@'localhost' (using password: NO)' The reason I think it's saying password: NO如果未设置环境变量,DB_PASSWORD 的默认值为空字符串。

我认为正在发生的事情是 Forge 没有读取我的环境变量,而是使用指定的默认值。如果我更改环境变量的值,我会收到相同的错误消息,这似乎证实了这一点。我已经重新启动了 Digital Ocean 生产服务器,认为这会强制服务器读取变量。但是虚无。我是否需要在 Forge 中做其他事情才能让它读取变量。 Jeffrey Way's Laracast并不表示我需要。

这是怎么回事?

最佳答案

Laravel 5 尚未处于测试阶段。

Taylor 已经在最近的播客中提到他需要更改 Forge 以适应 Laravel 5 环境设置。

我记得他提到了从 Forge 编辑 .env 文件的能力。

现在 - 您只需将所有设置放入 Web 服务器根目录下的 .env 文件中,它就会起作用。

关于php - Forge 不读取我的 Laravel 5 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28119984/

相关文章:

javascript - Google 可视化表不理解我的代码

javascript - mySQL按可变数量更新现有值

php - 结合两个mysql查询

php - 如何让一个 php 函数每 5 秒循环一次

mysql - 忽略mysql中where子句中的条件

php - 选择下拉列表的 Laravel 模型绑定(bind)

authentication - 获取所有连接的用户(Laravel 5)

php - 我想计算我在 mysql 中的所有重复值,但我明白了

php - 如何按键值对包含 stdClass 对象的多维数组进行排序?

mysql - 获取表中最新行的最佳实践