php 信号量不起作用

2022-08-30 17:55:23

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

(我知道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 个请求失败。

但在那之后,一个节目只有〜1200点击apc_fetch('count111')

nginx on ubuntu 12.04 (64bit), php 5.3.16~dotdeb, php-fpm

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

答案 1

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


答案 2

推荐