在站点之间共享Kohana安装

Pat*_*ick 3 php kohana hmvc kohana-3

嘿所有,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/
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Pat*_*ick 6

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

我搬到了我systemmodules文件夹出的根目录(至/home/user/kohana/),并创建了一个有文件夹,名为sites.然后,我创建了三个单独的文件夹中的/home/user/kohana/sites/每一个我的三个子域(admin,community,和www).我将application文件夹的内容复制到每个文件夹中,然后将index.php.htaccess文件复制到每个子域的webroots.

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

$install_dir = '../kohana/';
Run Code Online (Sandbox Code Playgroud)

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

...
$application = $install_dir.'sites/admin';
...
$modules = $install_dir.'modules';
...
$system = $install_dir.'system';
Run Code Online (Sandbox Code Playgroud)

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