PHP flock () не блокирует блокирование почему?

Я использую функцию flock (), чтобы проверить, запущен ли еще один экземпляр скрипта, получив блокировку во временном файле, чтобы следующий экземпляр должен проверить, не заблокирован ли файл в противном случае

<?php $fp = fopen("/var/tmp/your.lock", "w"); if (!flock($fp, LOCK_EX|LOCK_NB)) { // try to get exclusive lock, non-blocking die("Another instance is running"); } //my script sleep(10); echo 'completed successfully'; 

скрипт работает без проблем при одновременном вызове файла из разных браузеров одновременно, пока он ждет, если я одновременно открываю два экземпляра из одного и того же браузера, т. е. первый вызов получает блокировку, а второй ждет блокировки и не закрывает

Я знаю, что могут быть другие способы проверить, работает ли какой-либо экземпляр, но большинство из них сделает что-то, а затем отменит его, и в моем случае сценарий может закончиться в любое время, так как это может занять много времени или превысить ограничение памяти или по любой причине

любая помощь ?

Проблема заключалась в следующем:

вызов одного и того же сценария дважды с тем же URL-адресом из браузера будет осуществляться через один и тот же процесс и функцию flock (), не блокирующую работу на уровне процесса, заставляя второй скрипт ждать

как пример вызова example.com/test.php дважды приведет к тому, что два запроса будут работать с одним и тем же процессом, добавив какую-либо случайную переменную, создаст отдельный процесс для каждого отдельного запроса, например

 example.com/test.php?rand=1 example.com/test.php?rand=2 

прекрасно работает .

Выполните один и тот же сценарий из командной строки дважды. Я был бы готов поспорить, что все работает отлично.

Скорее всего, ваш браузер ограничивает скорость соединения с сервером, позволяя только одному соединению одновременно с любым хостом. Тот факт, что вы получаете разные результаты в разных браузерах, указывает на то, что это не проблема PHP, так как PHP будет выполнять то же самое, независимо от браузера, запрашивающего страницу.