4

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 

application/libraries/MY_Parser.php にある MY_Parser クラスは正常にロードされます。

class MY_Parser extends CI_Parser 

ローダーをデバッグして、パーサーがログとは異なる動作をする理由を確認すると、アプリケーション/コアで MY_Log を検索しているように見えますが、アプリケーション/ライブラリで MY_Parser を検索 (および検出) します。

CI 2.1.1 を使用しています

この違いはなぜですか?

4

1 に答える 1

1

自動ロードしないようにコアライブラリを拡張するとき。なんで?CI_Log は CI コアによって自動的に読み込まれるためです。CI_Parser (これについては詳しくありません) はコア ライブラリではないため、 からロードされます。CI_Logapplication/libraries

autoload array() に含めないでください

また、最新のセキュリティ パッチ/修正を利用するために、CI バージョンを更新することを検討してください (まだ行っていない場合)。

于 2014-01-07T04:46:56.907 に答える