我想知道是否有人发现与或apc_exists()
一起使用时导致整个 WAMP 服务器挂起的任何奇怪行为?经过长时间的“调试”和最小化问题后,我最终得到了导致我的 WAMP 崩溃的以下代码。apc_add()
apc_store()
据我所知,它需要 1apc_exists()
和 2apc_add()
访问不同的密钥。[因此听起来像是一个死锁问题] 我在 chrome 中运行这个脚本,然后按下 F5 键,直到我让 rand-thingy 发生两次。在那个时候或第一次它通常会挂起。
<?php
$result = "asdfioasdjfoasdjf";
if(apc_exists("asdf")) {
echo("#1<br/>");
apc_add("launcher", $result, 1);
} else {
echo("#2<br/>");
$result = "asdfasdfasdf";
apc_add("launcher", $result, 10);
}
if(rand(0,100) < 4) {
echo("#stored data!<br/>");
apc_add("asdf", "2130130", 1);
}
?>
我的系统/设置:
Windows 7 64bit
WAMP 2.2d 32bit
PHP 版本 5.3.10
apc 版本 3.1.9 | $修订:325040 $
我在代码中做错了吗?这与 windows / wamp 有关还是存在于其他环境和 php/apc-versions 中?在上述情况下,如果我替换apc_exists()
为apc_fetch()
,系统不会崩溃,有人知道为什么吗?