404覆盖时未加载Codeigniter数据映射器

404覆盖时未加载Codeigniter数据映射器,codeigniter,codeigniter-datamapper,Codeigniter,Codeigniter Datamapper,当Codeigniter处理由不存在的操作(仅操作,而非控制器)引起的404重写时,无法加载,从而导致任何数据库功能都不可能实现 我的使用案例是:我想注册有关谁/何时/何地在站点上遇到404的数据 版本信息:codeigniter 2.1.0;datamapper 1.8.2我认为问题在于datamapper“扩展”db类的方式。定义要使用的db类名称的文件只包含一次,因此当重新构造codeigniter对象时,该名称保持未重写状态。要修复此问题,您必须自费破解datamapper文件 第143

当Codeigniter处理由不存在的操作(仅操作,而非控制器)引起的404重写时,无法加载,从而导致任何数据库功能都不可能实现

我的使用案例是:我想注册有关谁/何时/何地在站点上遇到404的数据


版本信息:codeigniter 2.1.0;datamapper 1.8.2

我认为问题在于datamapper“扩展”db类的方式。定义要使用的db类名称的文件只包含一次,因此当重新构造codeigniter对象时,该名称保持未重写状态。要修复此问题,您必须自费破解datamapper文件

第143行后面的文件“application/third_party/datamapper/system/DB.php”:

// load Datamappers DB interceptor class
require_once(APPPATH.'third_party/datamapper/system/DB_driver.php');
请写以下几行:

// HACK to make datamapper load correctly after codeigniter has been reconstructed in
// cases of invalid actions (404 overrides)
$driver = 'DM_DB_Driver';