Подтвердить что ты не робот

Семафор php не работает

У меня есть следующий код, и семафор не заблокировал его, как ожидалось.

(я знаю 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

  • update 1: отлично работает на Linux mint, 5.4.6 ~ dotdeb, встроенный веб-сервер. Я собираюсь попробовать тот же самый компьютер с той же версией с nginx.
4b9b3361

Ответ 1

Проблема была, по-видимому, с самим APC, а не с семафором.
Обновление до PHP 5.4.8 -1 ~ dotdeb.0 решило проблему как для nginx, так и для встроенных тестов сервера.