2013-07-16 83 views
6
$env = $app->detectEnvironment(array(

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

)); 

针对不同环境自定义配置的原始配置文件可以在我的本地环境下,如database.phpcache.php等可以使用,但我的自定义配置是不是在我的本地环境的习惯。如何包括Laravel-4

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

+0

我想知道这个以及:D –

+0

您是否检查了这个答案? http://stackoverflow.com/q/13860283/1317935 – Laurence

+0

是的,我做了,这是我知道这一点,但我的问题是,只有laravel的默认配置在这里使用,而不是自定义的,我的自定义的被称为“hybridAuth”我放在那里Facebook验证,微博认证等 – Ironwind

回答

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'), 

)); 

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

'connections' => array(

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

), 

在这个文件中,你不必指定所有选项中,只有那些从生产/基本配置不同的选项。官方docs

+0

“原始配置文件可以在我的本地环境中使用,如database.php,cache.php等” 我说在我的问题,我的问题是我所做的定制文件位于config文件夹内,它不包含在环境变化中。无论如何,谢谢 – Ironwind

+0

当地的环境没有被指定。尝试删除'*。',尝试''local'=> array('localhost'),'这对我很有用!您用于访问您的应用程序的地址是什么?它是否与'http:// subdomain.localhost /'相似? – Andreyco

+1

@Andreyco我需要定义我的计算机名称(对于工匠)和正确的域名:''local'=> array('*。dev','Eon.local'),' – ptim

2

如果你是在Linux和Mac

更多信息,你可以决定你的“主机名”使用“主机名”命令终端和阵列中使用它。

0

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