当我尝试加载MY_Log时,我看到整个应用程序日志文件中出现以下错误。
错误 - 26-03-2013 22:52:20->严重性:警告 - > include_once(application / core / MY_Log.php)[function.include-once]:无法打开流:没有这样的文件或目录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
当我调试加载程序以查看为什么Parser的行为与Log不同时,看起来它正在app / core中查找MY_Log,但在应用程序/库中查找(并找到)MY_Parser ok。
我正在使用CI 2.1.1
为什么会出现这种差异?
答案 0 :(得分:1)
当您 EXTEND 核心库CI_Log
时,不自动加载它。为什么?因为CI核心会自动加载CI_Log。 CI_Parser(不熟悉这个)不核心库,因此它从application/libraries
加载。
只是不要将它包含在自动加载数组()
中另外,请考虑更新CI版本(如果尚未更新)以利用最新的安全修补程序/修复程序。