在站点之间共享Kohana安装

时间:2010-10-27 18:43:20

标签: php kohana kohana-3 hmvc

嘿所有,Kohana的新人,我有一个简单的问题。

我有一个网站,其中有三个子部分,由子域名组织(即admin.site.com,community.site.com,www.site.com),但每个子部分都将从同一个数据库中提取,应该共享相同的模型。有没有办法组织它,以便我可以为每个子域使用相同的Kohana模型/系统/模块文件,但保持应用程序文件夹分开?类似的东西:

/home/user/admin/
    application/
        bootstrap.php
        cache/
        ...
    index.php

/home/user/community/
    application/
        bootstrap.php
        cache/
        ...
    index.php

/home/user/public_html/
    application/
        bootstrap.php
        cache/
        ...
    index.php

/home/user/kohana/
    modules/
        ...
        models/
        ...
    system/

这样我可以在三个站点中保持Kohana最新只有一个更新,而且我可以使用相同的模块和模型类。有什么方法可以让这件事发生吗?或者我应该使用其他方法吗?

谢谢!

1 个答案:

答案 0 :(得分:6)

我想出了如何做到这一点,所以我想我会回答它以防其他人需要知道。

我将systemmodules个文件夹移出了webroot(到/home/user/kohana/)并创建了一个名为sites的文件夹。然后,我在/home/user/kohana/sites/为我的三个子域(admincommunitywww中的每个子域创建了三个单独的文件夹。我将application文件夹的内容复制到每个文件夹中,然后将index.php.htaccess文件复制到每个子域的webroots。

在每个index.php文件的顶部,我添加了:

$install_dir = '../kohana/';

并编辑以下目录变量以包含新路径:

...
$application = $install_dir.'sites/admin';
...
$modules = $install_dir.'modules';
...
$system = $install_dir.'system';

它有效!因为没有意识到移动目录是多么容易,我觉得有点愚蠢。希望我的解释是连贯的,并在将来帮助其他人。

相关问题