为什么这个页面“加载3次?” (这是一个配置错误吗?)

时间:2011-01-12 04:55:54

标签: php configuration memcached apc

  • Ubuntu 10.10
  • Apache 2.2.17
  • PHP 5.3.4
  • APC 3.1.6
  • Memcache 3.0.5

代码:

<?php
$cache = new Memcache();
$cache->connect('localhost', 11211);

$num = 1;

if (($a = $cache->get('key')) !== false) $num = $a;
$num += 1;
$cache->set('key', $num);

echo $num;

输出(在Apache重新启动后连续三次刷新):

2

然后

5

然后

8

问题:为什么?我期待234。第一页似乎已检出,但后续页面加载总是比我实际添加的数字增加三倍。换句话说,如果我写

$num += 10;

然后数字出现114171。我究竟做错了什么?我是否错误配置了APC或Memcache?我相当肯定APC是问题,但如果我确定问题是什么,那我就不会问了!

更新:当发生这种情况时,apache access_log会针对每个页面加载显示3个不同的请求。

1 个答案:

答案 0 :(得分:1)

您使用什么方法发出请求?我观察到一些firefox插件(如firebug)有时会因某种原因导致页面被多次加载。可能值得尝试使用其他浏览器,或者只是wget或curl来发出请求,看看它是否仍会产生相同的结果。