database.php中的环境变量

时间:2014-02-07 04:12:33

标签: php laravel laravel-4

我已将DB凭据添加为环境变量(使用nginx),因此我可以像这样使用它们:

return array(

    'connections' => array(

        'mysql' => array(
            'driver'   => 'mysql',
            'host'     => 'localhost',
            'database' => getenv('DB_NAME'),
            'username' => getenv('DB_USER'),
            'password' => getenv('DB_PASS'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            )

    )
);

问题在于,当我使用工匠时,环境变量似乎不可用,所以当我运行migrate或seed时会出现错误。

有没有解决方法或者我应该直接在配置文件中编写我的数据库凭据?

1 个答案:

答案 0 :(得分:0)

编辑我以前的答案(对不起误解):

是的,环境变量是由服务器创建的,因此无法从CLI访问或修改它们。在部署之前,服务器正在生成这些变量,因此可以在运行时将它们“注入”应用程序。 我想可能通过远程 Laravel包和SSH来实现这些变量?例如, php artisan tail 命令正在从服务器端读取本地错误。