24

次のコードがありますが、セマフォは期待どおりにロックしません。

(私は 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 on ubuntu 12.04 (64bit), php 5.3.16~dotdeb, php-fpm

  • 更新 1 : Web サーバーに組み込まれている Linux mint、5.4.6~dotdeb で完全に動作します。nginxで同じバージョンの同じマシンを試してみます。
4

1 に答える 1

1

どうやら、問題はセマフォではなく、APC 自体にあったようです。PHP 5.4.8 -1~dotdeb.0 に
更新すると、nginx と組み込みサーバーの両方のテスト実行の問題が解決されました。

于 2012-10-29T15:21:54.080 に答える