如何在Windows XP 32位中安装memcached?
我可以成功安装memcache,可以使用下面的代码
$m = new Memcache;
$m->connect('localhost',11211);
但我需要像这样使用memcached,
$m = new Memcached();
$servers = array(
array('localhost', 11211)
);
$m->addServers($servers);
现在上面的代码显示找不到Memcached类。由于没有安装。 那么如何在Windows XP 32位中安装memcached
答案 0 :(得分: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);
}
答案 1 :(得分:0)
和你有同样的问题。
在阅读http://shikii.net/blog/installing-memcached-for-php-5-3-on-windows-7/之后,我发现由于libmemcached,Memcached是为linux设计的。
仍在等待有关此问题的正确解决方案。
有没有人可以帮助我们?谢谢。
*抱歉我的英语不好。