PHP 信号量(在同一浏览器中)

PHP semaphore (in same browser)

如果我想防止在同一个浏览器中多次执行代码,为什么PHP信号量不能在同一个浏览器或另一个浏览器选项卡中工作?

https://www.php.net/manual/en/intro.sem.php

此代码仅在不同的浏览器中有效,当我在同一浏览器中同时执行脚本时,为什么不能在同一浏览器中工作(php7.4-fpm + nginx )

$semaphore_key = 25;
$semaphore_max = 1;
$semaphore_permissions = 0666;
$semaphore_autorelease = 1;
$semaphore = sem_get($semaphore_key, $semaphore_max, $semaphore_permissions, $semaphore_autorelease);

if(sem_acquire($semaphore, true) === false) { 
    echo "error";
    exit();
}else{
    echo "ok\n";
}

sleep(30);
sem_release($semaphore);

我不明白为什么,但这是由 Chrome 浏览器缓存引起的,来自服务器的响应不包含任何缓存 headers,当我禁用浏览器缓存时,它的工作方式如下预计