我有一个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