2012-01-31 121 views
1

我有一個Kohana 3.0.14網站,我想放在多個域,每個虛擬主機(不同的IPS)相關聯。在多臺服務器上安裝kohana網站

我的網站之間的區別是配置文件和boostrap文件(我設置要使用的語言)。

所有網站正在生產。

我該如何「分手」網站,我如何包含這些文件,以便我將所有kohana網站放在一個地方,以及每臺服務器上的config和boostrap,以便在修復錯誤時要在每個站點(每個域)上修復?

非常感謝!

回答

1

你可以通過在你的index.php文件的頂部設置一個環境變量來做到這一點。然後根據這個變量,你可以設置配置變量,語言等等。這通常是我處理登臺/現場/本地環境的方式,這樣做可以讓你在各種安裝之間保持所有的代碼一致。

例如,在的index.php

define("ENV", "staging") 

然後在bootstrap.php中

$baseUrl = "http://defaultdomain.com/"; 
if (ENV == "staging") $baseUrl = "http://staging.somedomain.com/"; 

Kohana::init(array(
    'base_url' => $baseUrl, 
)); 

database.php中

if (ENV == "live") { 
    $hostname = ... 
    $database = ... 
    $username = ... 
    $password = ... 
} else if (ENV == "staging") { 
    $hostname = ... 
    $database = ... 
    $username = ... 
    $password = ... 
} 

return array 
(
    'default' => array 
    (
     'type'  => 'mysql', 
     'connection' => array(
      'hostname' => $hostname, 
      'database' => $database, 
      'username' => $username, 
      'password' => $password, 
      'persistent' => FALSE, 
     ), 
     'table_prefix' => '', 
     'charset'  => 'utf8', 
     'caching'  => FALSE, 
     'profiling' => TRUE, 
    ) 
+0

感謝洛朗,我會嘗試這種方式,並回來。 :) – dana 2012-01-31 14:32:58

0

如果您的主機選項有限,最好的選擇是選擇第一個主域名並使用它創建一個帳戶。然後在上面放置更多的域名。然後只需獲取URL即可決定要使用的語言等。

相關問題