【发布时间】:2011-04-18 16:58:07
【问题描述】:
在我的本地设置中,我有很多不同的 CakePHP 网站。我使用的是 Mac,因此文件夹结构类似于 ~/Users/cameron/Sites/sample-website,然后在每个网站中,我将拥有典型的 Cake 文件夹和 App 文件夹。
我想要做的是只拥有一个核心蛋糕文件夹,然后让所有网站都从该蛋糕核心中提取,这样我就不会多次拥有相同的东西。我一直在网上看一些教程:http://rickguyer.com/cakephp-one-core-many-apps/
所以我在这里有我的蛋糕文件夹:~/Users/cameron/Sites/cake-1.3/,然后是我的网站:~/Users/cameron/Sites/sample-site/,在这个文件夹中,我有常用的 app 文件夹和 htaccess,告诉它在哪里可以找到 webroot 等。
现在我已经像教程一样编辑了 webroot 中的 index.php 文件,但只更改了一行,因为我没有像他那样将我的文件移到 App 文件夹之外。所以我唯一喜欢的改变如下:
if (!defined('CAKE_CORE_INCLUDE_PATH'))
{
define('CAKE_CORE_INCLUDE_PATH', '..'.DS.'..'.DS.'cake-1.3');
}
据我所知,这是正确地查找两个目录并找到一个名为 cake-1.3 的文件夹,但它只会给出错误 500?
任何想法是什么问题?谢谢
编辑:
即使这样做也不行???
如果我回显:echo CAKE_CORE_INCLUDE_PATH; 给出/Users/cameron/Sites/cake-1.3,如果我将其粘贴到地址栏中,它会加载蛋糕文件夹,所以它绝对是正确的文件夹结构,只是它不喜欢在主 url 之外查看蛋糕?
if (!defined('CAKE_CORE_INCLUDE_PATH'))
{
define('CAKE_CORE_INCLUDE_PATH', DS.'Users'.DS.'cameron'.DS.'Sites'.DS.'cake-1.3'); echo CAKE_CORE_INCLUDE_PATH;
}
【问题讨论】:
-
网站是否相关? (例如销售相同的产品、共享数据库等)为什么要将它们放在同一台服务器上?
-
@John Isaacks:共享的不是同一个 APP 代码,而是同一个 CakePHP 的核心框架。它可以避免在同一台服务器上拥有多个核心副本。那么当你要更新核心的时候,就可以就地更新了。