1

我正在构建多个站点,这些站点都连接在一起。站点 A 是一个 CodeIgniter 应用程序。站点 B 是第二个 CI 应用程序,我正在使用应用程序包加载器来使用站点 A 的模型(这很有效:注册/登录程序内置在站点 A 中,并且在站点 B 中工作也)。

但是,我在站点 A 中构建了一个 Hook 来设置 cookie/会话数据(关于访问者的来源,我在注册时存储)。问题是:使用应用程序包时未加载站点 A 的 Hooks。有谁知道我怎样才能让它工作?我无法在站点 B 中使用 /application/ 文件夹之外的路径加载钩子(在 hooks.php 中)......提前致谢!

4

1 回答 1

0

由于 CI 加载钩子的方式,它假定所有钩子都在您当前正在运行的应用程序的应用程序文件夹中。你有两个选择:

1) 唯一可行的方法是破解 CI 核心钩子代码,使其使用某种搜索数组来查找有效钩子;困难且不是最佳的,因为您将无法轻松地将您的站点升级到最新的 CI 版本。如果在 Windows 主机上运行,​​这是您唯一的选择。

2)在应用程序文件夹上的应用程序B的钩子文件夹中创建一个符号链接,以指向应用程序A的钩子文件。您还需要以通常的方式在 App B 中定义钩子并启用钩子。这不适用于 Windows 主机。

希望这可以帮助。祝你好运!

于 2012-02-17T17:53:46.160 回答