如何在Laravel-4中包含不同环境的自定义配置

时间:2013-07-16 08:38:34

标签: laravel laravel-4 app-config

$env = $app->detectEnvironment(array(

    'local' => array('*.local'),

));

原始配置文件可以在我的本地环境中使用,例如database.phpcache.php等。但我的自定义配置未在我的本地环境中使用。

有没有办法在其上添加我的自定义配置?

3 个答案:

答案 0 :(得分:7)

首先,您需要定义什么是'本地'环境

$env = $app->detectEnvironment(array(
    // everything that contains 'localhost' or '127.0.0.1'
    // in URL will be considered to run in local env.
    'local' => array('localhost', '127.0.0.1'),

));

然后,您需要在local中创建名为app/config的目录。如果要覆盖本地环境中的数据库设置。创建文件:app/config/local/database.php并覆盖此文件中的设置,例如:

'connections' => array(

    'mysql' => array(
        'username'  => 'otherUserName',
        'password'  => 'otherPassword',
    ),

), 

在此文件中,您不需要指定所有选项,只需指定与生产/基本配置不同的选项。

官方docs

中的更多信息

答案 1 :(得分:2)

如果您使用的是Linux和Mac,则可以使用“hostname”terminal命令确定“主机名”,并在阵列中使用它。

答案 2 :(得分:0)

我知道这有点晚了但它可能会帮助那些最终进入这个主题的人。要回答加载自定义配置文件的问题,您可以找到更多详细信息here。我没有在文档中的任何地方看到它,但您只需在config/中使用您的环境名称创建一个新目录。将要覆盖的文件复制到新目录并编辑设置。当您在该文件中时,您还可以删除所有未被覆盖的内容。