在多台服务器上安装kohana网站

时间:2012-01-31 14:12:25

标签: php kohana kohana-3 virtualhost

我有一个Kohana 3.0.14网站,我想放在多个域上,每个域都有一个虚拟主机(不同的ips)。

我的网站之间的区别是配置文件和boostrap文件(我设置了要使用的语言)。

所有网站都在制作中。

我如何'拆分'网站,我如何包含文件,以便我将所有kohana网站放在一个地方,以及每个服务器上的配置和boostrap,以便在我修复错误时固定在每个站点(每个域)?

非常感谢!

2 个答案:

答案 0 :(得分: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,
    )

答案 1 :(得分:0)

如果您的托管选项有限,最好的办法是选择第一个主域名并使用该域名创建帐户。然后在顶部停放更多域名。然后只需获取URL以确定您要使用的语言等。