मैं Nolithius पर लंबे मतदान के बारे में एक लेख पढ़ रहा था। सेक्शन PHP पूरे सत्र में सो जाता है, यह लिखा गया है कि पूरे सत्र को डेडलॉक में आने से रोकने के लिए session_write_close
फ़ंक्शन को कॉल किया जाना चाहिए। डेडलॉक द्वारा वास्तव में क्या मतलब है? क्या इसका मतलब यह है कि इस फ़ंक्शन के बिना, क्लाइंट साइड में खोले गए उसी डोमेन से कोई अन्य पृष्ठ अन्य स्क्रिप्ट्स (जैसे एक) से AJAX डेटा प्राप्त नहीं कर पाएगा जब तक कि इसने निष्पादन समाप्त नहीं किया है और परिणाम वापस कर दिया है? ऐसा क्यों होना चाहिए? और session_write_close
कैसे मदद कर सकते हैं? अगली बार जब वह इस अनुरोध से डेटा प्राप्त कर लेता है तो वह इस डोमेन से किसी पृष्ठ से अनुरोध करने के लिए ग्राहक पक्ष से सभी वैयक्तिकरण को हटा देगा?लंबे मतदान में session_write_close का उपयोग क्यों किया जाना चाहिए?
जब फ़ाइल आधारित सत्रों प्रत्येक अनुरोध उपयोग किया जाता है सचमुच अनुरोध के अंत तक फ़ाइल ताले:
क्या केवल वह फ़ाइल जो सो रही है, लॉक हो जाएगी, या पूरे डोमेन को बंद कर दिया जाएगा, इस प्रकार अन्य AJAX अनुरोधों को अन्य स्क्रिप्ट, पेजेलोड आदि को अनुमति नहीं दे रहा है? – SexyBeast
यदि आप इस तरह से देखते हैं, हां, पूरा डोमेन लॉक हो जाएगा - यदि आपके पास सत्र की शुरुआत और उपयोग करने वाली आपकी सभी स्क्रिप्ट हैं। स्क्रिप्ट चौड़े सत्र के उपयोग के बजाय, आपको कहां और कहां चाहिए, सत्र को चुनिंदा रूप से खोलना और बंद करना सबसे अच्छा है। – zaf
तो यदि मैं 'session_write_close' का उपयोग करता हूं, तो क्या वह सत्र समाप्त नहीं करेगा? यही है, जब उपयोगकर्ता उस डोमेन से दूसरे पृष्ठ का अनुरोध करता है, तो क्या वह एक नया सत्र शुरू कर देगा? – SexyBeast