使用MY_Log扩展CI_Log时,日志文件出错


Error in log file when using MY_Log to extend CI_Log

当我的应用程序试图加载MY_Log时,我看到下面的错误出现在整个应用程序日志文件中。

ERROR - 26-03-2013 22:52:20 ->严重性:Warning -> include_once(application/core/MY_Log.php) [function. php]C:'dev'mysite'application'config'config.php 377

我的自动加载文件有以下内容:

$autoload['libraries'] = array('parser', 'session', 'log'); 
MY_Log类定义在application/libraries/MY_Log.php
class MY_Log extends CI_Log 

MY_Parser类,它位于application/libraries/MY_Parser.php中。

class MY_Parser extends CI_Parser 

当我调试加载器以查看为什么解析器的行为与日志不同时,它似乎正在应用程序/核心中寻找MY_Log,但在应用程序/库中寻找(并发现)MY_Parser ok。

我正在使用CI 2.1.1

知道为什么会有这种差异吗?

当你扩展一个核心库像CI_Log自动加载它。为什么?因为CI_Log是由CI Core自动加载的。CI_Parser(不熟悉这个)是而不是一个核心库,所以这就是为什么它从application/libraries加载。

不要在你的自动加载数组()中包含它

另外,考虑更新您的CI版本(如果您还没有),以利用最新的安全补丁/修复程序。