我正在构建多个站点,这些站点都连接在一起。站点A是CodeIgniter应用程序。站点B是第二个CI应用程序,我正在使用应用程序包加载器来使用站点A的模型(这是有效的,这很棒:注册/登录过程在站点A中构建,并在站点B中工作太)。
但是,我在站点A中构建了一个Hook来设置cookie /会话数据(关于访问者的来源,我在注册时存储)。问题是:使用应用程序包时,不会加载站点A的挂钩。有没有人知道如何让这个工作?我无法在站点B中加载钩子(在hooks.php中)和/ application /文件夹之外的路径...提前谢谢!
答案 0 :(得分:0)
由于CI加载挂钩的方式,它假定所有挂钩都在当前正在运行的应用程序的应用程序文件夹中。您有两种选择:
1)唯一可行的方法是破解CI核心钩子代码,使其使用某种搜索数组来获得有效的钩子;由于您无法轻松将网站升级到较晚的CI版本,因此很难而且不是最佳的。如果在Windows主机上运行,这是您唯一的选择。
2)在应用程序文件夹的App B的hooks文件夹中创建一个符号链接,指向App A的钩子文件。您还需要以通常的方式定义钩子并在App B中启用钩子。这不适用于Windows主机。
希望这会有所帮助。祝你好运!