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

How to include custom config for different environment in Laravel-4

1
2
3
4
5
$env = $app->detectEnvironment(array(

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

));

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

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


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

1
2
3
4
5
6
$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'),

));

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

1
2
3
4
5
6
7
8
'connections' => array(

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

),

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

官方文档中的更多信息


如果您使用的是Linux和Mac,则可以使用"主机名"终端命令确定"主机名",然后在阵列中使用它。


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