को अनदेखा कर रहे हैं, मैं एक ही ब्राउज़र सत्र से उत्पन्न एक साथ दो अनुरोधों की सेवा करने की कोशिश कर रहा हूं।PHP सत्र अवरुद्ध कर रहे हैं, session_write_close
निम्नलिखित न्यूनतम उदाहरण पर विचार करें:
<?php
session_start();
$sessionId = session_id();
session_write_close();
$file = sys_get_temp_dir() . '/lock_test';
if (!file_exists($file)) {
touch($file);
sleep(5);
unlink($file);
echo 'done! ' . $sessionId;
} else {
echo 'locked! ' . $sessionId;
}
दूसरा अनुरोध "बंद" उत्पादन में परिणाम चाहिए लेकिन यह हमेशा पूरा करने वाले पहले अनुरोध के लिए इंतजार कर रहा है और उसके बाद "हो गया" आउटपुट।
Xdebug नहीं चल रहा है। PHP संस्करण 5.5 है।
संपादित करें:
वोटिंग डुप्लीकेट के रूप में इस बंद हुआ। जुड़े प्रश्न से पता चलता है कि इस मुद्दे को हल करने के लिए, एक यादृच्छिक चर जोड़ें। तो मैं एक अनुरोध समय चर जोड़ने और microseconds के साथ एक टाइमस्टैम्प में स्थापित करने का सुझाव दूंगा।
आप अनुरोध कैसे कर रहे हैं? – PeeHaa
ब्राउज़र से स्क्रिप्ट को हिट करें। माना जाता है कि इस विधि का उपयोग कई अजाक्स अनुरोधों को सुविधाजनक बनाने के लिए किया जा सकता है जब तक कि वे बिना किसी के लिए एक दूसरे को अवरुद्ध कर सकें। – bcmcfc
क्या आपने फ़ाइल IO को हटाने का प्रयास किया है (केवल सत्र प्रारंभ/बंद नींद और गूंज छोड़कर)? – Vatev