2012-11-29 94 views
1

如何在Windows XP 32位安裝memcached?適用於Windows XP的PHP memcached 32位

我可以成功安裝內存緩存,並且可以使用使用下面的代碼

$m = new Memcache; 
$m->connect('localhost',11211); 

但我需要這樣的memcached的工作,

$m = new Memcached(); 
$servers = array(
    array('localhost', 11211) 
    ); 
    $m->addServers($servers); 

現在上面的代碼顯示的Memcached類未找到。由於沒有安裝。 那麼我怎樣才能安裝在Windows XP中的memcached 32位

+0

似乎memcached在Windows中尚不可用。我正在使用虛擬框與Linux。我的建議是使用虛擬盒子或Linux本身來處理memcached。 –

回答

0

與您有同樣的問題。

在閱讀http://shikii.net/blog/installing-memcached-for-php-5-3-on-windows-7/之後,我發現Memcached是由於libmemcached而設計的。

仍在等待有關此問題的正確解決方案。

有沒有人可以幫助我們?謝謝。

*抱歉我的英語不好。

+0

更好的選擇是。使用Linux或Linux操作系統本身的Oracle虛擬框。 –

2

我有一個類似的問題,對於那些不想(或不能,無論什麼原因)運行虛擬機,我最終有不同的代碼在Windows上運行與Linux上運行。

當我跑了以下內容:

$m = new Memcache; 
print_r(get_class_methods($m)); 

我注意到Memcache不具有AddServers()方法,這東西對於Memcached(見php.net docs on Memcache class相比php.net docs on Memcached class,並注意有一個很多更多Memcached!)。

所以對於Windows(如您需使用Memcache,沒有Memcached可用),該解決方案是創建你自己的短環添加多臺服務器:如果您需要有兩套代碼

$m = new Memcache(); 
$servers = array(
    array('localhost', 11211), 
    // ... other servers here 
); 
foreach ($servers as $s) $m->addServer($s[0], $s[1]); 

對於可用的Windows和Linux,您始終可以將上述內容放在if (PHP_OS == 'WINNT')之後,並將Linux代碼置於其後的else語句中。因此,類似於:

$servers = array(
    array('localhost', 11211), 
    // ... other servers here 
); 
if (PHP_OS == 'WINNT') { 
    $m = new Memcache(); 
    foreach ($servers as $s) $m->addServer($s[0], $s[1]); 
} 
else { 
    $m = new Memcached(); 
    $m->addServers($servers); 
} 
相關問題