我在Windows系统上安装了memcached 1.4.4-14。我已经启动了服务,一切都井然有序。现在我要做的就是使用.php测试它,使用IIS提供。
所以我找到了一个基本的index.php页面并浏览了IIS。我可以渲染页面和一般的.php工作。它只是没有发生在memcache上。关于我需要安装哪些先决条件存在很多困惑。我无法理解哪些是必不可少的。我安装的PHP是一个新的干净安装,只有.php中转储了php_memcache.dll扩展名。
值得注意的是,在phpinfo中,我看不到对memcache的引用。
会喜欢一些基本的帮助。
以下是我使用的示例,我相信它是memcache会话转储的标准测试。
session_start();
header("Content-type: text/plain");
$memcache = new Memcache;
$memcache->connect("localhost",11211); # You might need to set "localhost" to "127.0.0.1"5
echo $memcache->get(session_id());
谢谢。
答案 0 :(得分:1)
如果您对使用压缩感兴趣,请注意,至少对于PHP 5.3.2版和Memcache 3.0.4版,当检索值为数字或布尔类型的键时,PHP会发出通知以下内容:
消息:MemcachePool :: get():无法解压缩数据
解决这个问题的方法是在设置或添加到Memcache之前测试变量类型,或者甚至将其转换为字符串。
<?php
$key = 'mc_key';
$value = 12345;
$compress = is_bool($value) || is_int($value) || is_float($value) ? false : MEMCACHE_COMPRESSED;
$mc= new Memcache;
$mc->connect('localhost', 11211);
$mc->set($key, $value, $compress);
echo $mc->get($key);
//Alternative is to cast the variable
$value = is_scalar($value) ? (string)$value : $value;
$mc->set($key, $value, MEMCACHE_COMPRESSED);
?>