我有下面的代码,信号量不会像预期的那样锁定它。
(我知道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和内置服务器测试运行的问题。