我有一個Kohana 3.0.14網站,我想放在多個域,每個虛擬主機(不同的IPS)相關聯。在多臺服務器上安裝kohana網站
我的網站之間的區別是配置文件和boostrap文件(我設置要使用的語言)。
所有網站正在生產。
我該如何「分手」網站,我如何包含這些文件,以便我將所有kohana網站放在一個地方,以及每臺服務器上的config和boostrap,以便在修復錯誤時要在每個站點(每個域)上修復?
非常感謝!
我有一個Kohana 3.0.14網站,我想放在多個域,每個虛擬主機(不同的IPS)相關聯。在多臺服務器上安裝kohana網站
我的網站之間的區別是配置文件和boostrap文件(我設置要使用的語言)。
所有網站正在生產。
我該如何「分手」網站,我如何包含這些文件,以便我將所有kohana網站放在一個地方,以及每臺服務器上的config和boostrap,以便在修復錯誤時要在每個站點(每個域)上修復?
非常感謝!
你可以通過在你的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,
)
如果您的主機選項有限,最好的選擇是選擇第一個主域名並使用它創建一個帳戶。然後在上面放置更多的域名。然後只需獲取URL即可決定要使用的語言等。
感謝洛朗,我會嘗試這種方式,並回來。 :) – dana 2012-01-31 14:32:58