小编Dan*_*Ser的帖子

与apc_exists和apc_add的死锁?(apc和PHP)

我不知道是否有人已经发现任何奇怪的行为apc_exists(),导致整个WAMP服务器挂起一起使用时的行为apc_add()apc_store()?经过长时间的"调试"并最小化问题后,我最终得到了以下代码,导致我的WAMP崩溃.

据我所知,它需要1 apc_exists()和2 apc_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);
}
?>
Run Code Online (Sandbox Code Playgroud)

我的系统/设置:
Windows 7 64位
WAMP 2.2d 32位
PHP版本5.3.10
apc版本3.1.9 | $ Revision:325040 $

我在代码中做错了吗?这与windows/wamp有关还是存在于其他环境和php/apc-versions中?在上述情况下,如果我更换apc_exists()apc_fetch()时,系统不会崩溃,没有人知道为什么吗?

php apc

7
推荐指数
1
解决办法
3128
查看次数

标签 统计

apc ×1

php ×1