मुझे आश्चर्य है कि किसी को apc_exists()
के साथ कोई अजीब व्यवहार मिला है, तो व्यवहार जो पूरे WAMP सर्वर को apc_add()
या apc_store()
के साथ उपयोग करते समय लटकने का कारण बनता है? "डीबगिंग" के लंबे सत्र के बाद और समस्या को कम करने के बाद मैं निम्नलिखित कोड के साथ समाप्त हुआ जो मेरे WAMP को क्रैश करने का कारण बनता है।apc_exists और apc_add के साथ डेडलॉक? (एपीसी और पीएचपी)
जहां तक मैं कह सकता हूं कि इसे 1 apc_exists()
और 2 apc_add()
अलग-अलग कुंजी तक पहुंचने की आवश्यकता है। [इस प्रकार यह एक डेडलॉक-इश्यू की तरह लगता है] मैं इस स्क्रिप्ट को क्रोम में चलाता हूं और तब तक F5-key को तब तक धक्का देता है जब तक कि मुझे दो बार होने वाली रैंड-चीज नहीं मिल जाती। उस समय या पहली बार यह आमतौर पर लटकता है।
<?php
$result = "asdfioasdjfoasdjf";
if(apc_exists("asdf")) {
echo("#1<br/>");
apc_add("launcher", $result, 1);
} else {
echo("#2<br/>");
$result = "asdfasdfasdf";
apc_add("launcher", $result, 10);
}
if(rand(0,100) < 4) {
echo("#stored data!<br/>");
apc_add("asdf", "2130130", 1);
}
?>
मेरे प्रणाली/स्थापना:
विंडोज 7 64 बिट
WAMP 2.2d 32 बिट
पीएचपी संस्करण 5.3.10
एपीसी संस्करण 3.1.9 | $ संशोधन: 325040 $
क्या मैं कोड में कुछ गलत कर रहा हूं? क्या यह विंडोज़/वैंप से संबंधित है या यह अन्य वातावरण और php/apc-version में मौजूद है? उपरोक्त मामले में, यदि मैं apc_exists()
को apc_fetch()
के साथ प्रतिस्थापित करता हूं, तो सिस्टम क्रैश नहीं होता है, क्या किसी को पता है क्यों?
यहाँ एक ही:
एक जांच
apc_fetch
का उपयोग कर की तरह लग सकता है मौजूद है। ऐसा लगता है कि कुछ यादृच्छिक मामलों में apc_exists + 1 सेकंड टाइमआउट कुंजी = डेडलॉक। मुझे लगता है कि यह एक बग है? – Mahnठीक है, मेरे पास वास्तव में 300 की चाबी थी, इसलिए यह –
हाँ से संबंधित नहीं है, यह एक प्रारंभिक धारणा थी, लेकिन मुझे लगता है कि नीचे दिया गया उत्तर अभी भी लागू होता है; जब तक कुंजी एक समय समाप्ति तिथि के रूप में है और यह समाप्त हो गई है फिर भी, आंतरिक डुप्लिकेट – Mahn