2012-01-31 67 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即可决定要使用的语言等。

相关问题