2013-07-16 82 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/的環境中創建一個新目錄即可。將要覆蓋的文件複製到新目錄並編輯設置。當您在該文件中時,您還可以刪除所有未被覆蓋的內容。