Я хочу предотвратить одновременный запуск PHP-скрипта. Этого я добился, проверив, существует ли файл «lock.txt». Это, однако, занимает несколько секунд, хотя это должно быть очень быстро.
<?php
if (!file_exists('lock.txt')) {
$lock = fopen('lock.txt','w');
////////////////////////////////////////////
......script that takes 30-160 seconds......
////////////////////////////////////////////
$jsonArray = array(utf8_encode('script')=>utf8_encode('finished'));
fclose($lock);
unlink('lock.txt');
} else {
$jsonArray = array(utf8_encode('script')=>utf8_encode('locked'));
}
echo json_encode($jsonArray);
?>
Почему это занимает так много времени? Он должен просто потерпеть неудачу в исходном операторе if и быстро повторить эхо json_encode
,
Я делаю что-то неправильно?
Проблема была на стороне клиента, я использовал две вкладки в браузере Chrome.
Спасибо @apokryfos и @WheatBeak за помощь в достижении этого заключения.
Других решений пока нет …