3

codeigniter(2.1.3)でキャッシュライブラリをロード中にエラーが発生しました。それが言っていることはこれです:

エラーが発生しました

要求されたクラスをロードできません:キャッシュ

私のコードはこのように見えます

if (!$data['foo'] = $this->cache->file->get('details')) {
        $data['foo'] = $this->foo->getdetails();
        $this->cache->file->save('details', $data['foo'], 600);
    }

私の自動ロードファイルは次のようなものです:

$autoload['libraries'] = array('database','form_validation','session','driver','cache');
4

6 に答える 6

2

こんにちは皆さん、私はこの問題の答えを得ました。

最後に、カスタムライブラリを作成し、それをオートロードファイルで呼び出します。それは私の問題を解決しました。

そしてコードはここにあります

class CallCache  {

public function __construct($config = array())
{
            $ci = &get_instance();
            $ci->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file')); 
}
}       

最後に神に感謝します

于 2013-01-24T05:59:06.090 に答える
1

CIのロードライブラリ関数が欠落していないことを確認してください...クラスをロードしていないように見えます。

コントローラー関数内から、標準を使用してクラスを初期化できます。$ this-> load-> library('someclass');

これを試して

$this->load->library('cache');  //library name  // put it on your controller..

こちらがユースガイドです

于 2013-01-21T11:10:10.327 に答える
0

以前にキャッシュライブラリをロードする必要があると思います。あなたはこのようにそれを行うことができます:

$this->load->library('cache');

または、autoload.phpにキャッシュライブラリを配置することもできます

于 2013-01-21T11:10:41.530 に答える
0

私にとっての解決策は、システムフォルダ内のフォルダ名を「libraries/cache」から「libraries/Cache」に変更することでした:)

ローダーはucfirst()を使用して最初の文字のフォルダー名を大文字にし、その中を検索してドライバーを見つけます。

于 2014-02-13T16:07:06.953 に答える
0

ローカルとサーバーの両方でphpのバージョンを比較するのはどうですか。charsetutf-8に関してこれをしばらく前に行いましたが、phpのバージョンが5.4未満またはネイティブの場合、CIはうまく機能しないことがわかりました。cpanelまたはサーバーが使用しているものでアップグレードする必要があります。乾杯!

于 2014-07-02T14:26:58.453 に答える
0

あなたは実際にこれを行うことができます

$autoload['drivers'] = array('cache');
于 2020-06-02T13:58:12.467 に答える