php信号量不起作用

标签 php semaphore apc

我有以下代码,信号量不会按预期锁定它。

(我知道 apc_inc。这不是我要找的。)

$semkey = sem_get(123);
sem_acquire($semkey);

$count = apc_fetch('count111');
if(!$count) $count = 0;
$count++;
apc_store('count111', $count);

sem_release($semkey);

其次是

ab -n 4000 -c 200 http://localhost/test.php

0 个请求失败。

但之后 apc_fetch('count111') 仅显示约 1200 次命中

ubuntu 12.04(64 位)上的 nginx,php 5.3.16~dotdeb,php-fpm

  • 更新 1:在内置网络服务器的 Linux mint 5.4.6~dotdeb 上完美运行。我打算在同一台机器上用相同版本的 nginx 试试。

最佳答案

问题显然出在 APC 本身,而不是信号量。
更新到 PHP 5.4.8-1~dotdeb.0 解决了 nginx 和内置服务器测试运行的问题。

关于php信号量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407767/

相关文章:

linux - IPC 命名信号量的 POSIX 实现

php - APC User-Cache 适合高负载环境吗?

php - mysql缓存和memcached的区别

php - 如何访问同名的PHP表元素

php - mysql_query & update 查询未执行

php - 更改 Woocommerce 产品页面上价格范围的字体大小

c - 将数据从父进程传递到其子进程——IPC、UNIX

unix - 信号量的简单测试

PHP APC 加载 apc.so 时出错

php - apc vs eaccelerator vs xcache