2013-09-29 36 views
0

在一次安裝中運行多個域。在引導我:cakephp多個域&配置::寫入

Configure::write('Application.name', 'example1.com'); 
    Configure::write('Application.name', 'example2.com'); 

什麼來定義這些變量,這樣我可以檢查我的主域名,並設置它們一次全部的最好方法?

+0

發現這一點: http://bakery.cakephp.org/articles/eimermusic/2009/02/18/one-core-one-app-multiple-域名 –

+0

請檢查我的答案。如果有用,請將答案設置爲已接受或投票。否則,請寫下答案中缺少的內容,或者您​​現在處理的問題是什麼,我會盡力提供幫助。 –

回答

1

要檢查的bootstrap.php/core.php中的文件域你可以使用:

switch($_SERVER['HTTP_HOST']) { 
    case 'example1.com': 
     Configure::write('Application.name', 'Example1'); 
     Configure::write(...); 
     break; 
    case 'example2.com': 
     ... 
     break; 
} 

如果你想在組織更清晰的方式配置,可以保存在單獨的文件應用程式設定,這些名稱是基於域名的。例如:

$filename = 'bootstrap_' . $_SERVER['HTTP_HOST'] . '.php'; 
require_once($filename); 

但請記住,運行CakePHP的控制檯時,這個領域的具體配置將無法正常工作。你可以找到一種方式來運行控制檯應用程序的位置: http://bakery.cakephp.org/articles/eimermusic/2009/02/18/one-core-one-app-multiple-domains

+0

正確的是,在CLI模式下繁榮。也不要直接使用$ _SERVER,使用env()。 – mark