2012-01-22 5 views
0

私はこれをいつか今のところ動作させようとしていますが、できません。私はWindows 7 64ビット版で作業しています。私はMemcached Serverをサービスとして実行しています。PHP 5.3.8でphp_memcached.dll拡張機能を使用しています。Codeigniterのアプリケーションで呼び出すと、 )。memcachedがcodeigniter 2.1.0で動作していない

$this->load->driver('cache', array('adapter' => 'memcached', 'backup' => 'file')); 
var_dump($this->cache->memcached->is_supported()); 
die(); 

しかし、それは偽を投げるので、私が間違っていることはわかりません。私はこのようにそれを呼び出すとき:

$this->load->driver('cache', array('adapter' => 'memcached', 'backup' => 'file')); 
$data = $this->cache->memcached->get('data_' . $idData); 

私はこのPHPのエラーを取得:

Fatal error: Call to a member function get() on a non-object in E:\workspace\example\system\libraries\Cache\drivers\Cache_memcached.php on line 50 

助けてくれてありがとうは

答えて

1

:-) CIドライバは、Apacheモジュールを探していますが、中にされました私たちは主にPHPクラスMemcacheを使用します。

は、MemcacheのへのMemcachedから変更した後に動作します私にとって/system/libraries/Cache/drivers/Cache_memcached.php

$this->_memcached = new Memcached(); 

にライン165を変更してください。

$this->_memcached = new Memcache(); 
+0

それが:-)、:-(助けに感謝を動作しません。 – jonaypelluz

1

私はこれが古いと知っていますが、私はちょうど同じ問題に出くわしました。

Windowsでは、「Memcached」ではなく「Memcache」を使用する必要があります。これを行うには、このページの指示に従ってください: http://www.leonardaustin.com/technical/how-to-install-memcached-on-xampp-on-windows-7

その後、それはCIでの作業を取得するために、あなたはキャッシュの\ DRIVERS \システム\ライブラリを\するために2つの小さな変更を加える必要があります\ Cache_memcached.php:

(is_supported機能)で

は、交換してください:

if (!extension_loaded('memcached')) 

で:

if (!extension_loaded('memcached') && !extension_loaded('memcache')) 

と)(_setup_memcached機能で、交換してください:付き

$this->memcached = new Memcached(); 

if(class_exists("Memcached")) 
    $this->_memcached = new Memcached(); 
else 
    $this->_memcached = new Memcache(); 
関連する問題