php - CakePHP 多个应用程序的共享核心

标签 php cakephp

在我的本地设置中,我有很多不同的 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;
}

最佳答案

您是对的:

define('CAKE_CORE_INCLUDE_PATH', DS.'Users'.DS.'cameron'.DS.'Sites'.DS.'cake-1.3');

只需确保 Users 位于 root 中。换句话说,当您转到终端时,您可以通过键入以下内容进入该目录:cd/Users/cameron/Sites/cake-1.3

看起来您可能使用的是 MAC。如果是这样,您的链接是正确的。大多数时候,我发现您复制粘贴了 app 目录,但没有获得 .htaccess 文件。我会先检查那些。但这里是您应该验证的内容的完整列表:

  1. 确保主机指向 正确的目录 (/Users/cameron/Sites/sample-site/)
  2. 验证 mod_rewrite 实际上是打开的。
  3. 确认您已经复制了 .htaccess 文件中的两个 /Users/cameron/Sites/sample-site//Users/cameron/Sites/sample-site/webroot 目录。
  4. 确认 /Users/cameron/Sites/cake-1.3/ 目录有一个名为 包含核心的蛋糕。

一旦确认了这一切,你就万事大吉了!

编码愉快!

更新: 当 index.php 文件查找 cake core 时,它​​会在您指向的位置中查找另一个名为 cake 的目录。所以在你的情况下:

define('CAKE_CORE_INCLUDE_PATH', DS.'Users'.DS.'cameron'.DS.'Sites'.DS.'cake-1.3');

你必须在 /Users/cameron/Sites/cake-1.3 中有 cake 目录。您的目录结构将如下所示:

/Users/cameron/Sites/cake-1.3/cake
/Users/cameron/Sites/cake-1.3/cake/libs
/Users/cameron/Sites/cake-1.3/cake/config
/Users/cameron/Sites/cake-1.3/cake/console
etc.

CakePHP 3.0+ 在 CakePHP 3.0+ 中,此配置从 webroot/index.php 移至 App/Config/paths.php

关于php - CakePHP 多个应用程序的共享核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706245/

相关文章:

php - 检查一个模型是否与 cakephp 中的另一个相关联?

php - CakePHP 定义常量

php - 在 cakephp 中使用本地化

php - 这个 AS3 代码与 PHP 文件通信有什么问题?

php - POST 变量突然无法通过基于 jQuery 的 AJAX 调用工作

javascript - 我的 onclick 事件在页面加载时执行,而不是在单击按钮时执行,我不知道为什么

mysql - CakePHP - 驻留在不同数据库上且具有不同查询语言的表之间的 $hasAndBelongsToMany 和 $hasMany 关系?

php - Cakephp不更新模型

php - Cakephp通过foreach在表内单选输入

javascript - 如何获得文字中的金额?