php信号量没有';不起作用


php semaphore doesn't work

我有下面的代码,信号量不会像预期的那样锁定它。

(我知道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次命中

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

  • 更新1:在Linux mint,5.4.6~dotdeb上运行良好,内置于web服务器。我将尝试使用nginx的相同版本的同一台机器

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