मेरी स्क्रिप्ट कई अलग-अलग कार्यों में फोर्क प्रक्रियाओं के साथ काफी परेशान हो रही हैं। जब भी pcntl_fork()
कहा जाता है, तो सभी MySQL कनेक्शन खो जाते हैं। यदि मैं पीडीओ MySQL कनेक्शन पर कोई क्वेरी चलाता हूं तो मुझे त्रुटि "MySQL server has gone away"
मिलती है।मैं क्वेरी चलाने से पहले त्रुटियों के लिए पीडीओ MySQL कनेक्शन कैसे देख सकता हूं?
समस्या यह है कि यह त्रुटि केवल विफल क्वेरी निष्पादन के बाद PDO::errorinfo()
में दिखाई देती है। मैं क्वेरी को चलाने का प्रयास करने से पहले यह पता लगाने में सक्षम होना चाहूंगा कि MySQL सर्वर "चला गया है"। इस तरह से मैं एक पीडीओ रैपर बना सकता हूं जो ऐसी स्थितियों में मेरे लिए एक नया कनेक्शन बनाता है।
कोई विचार?
त्रुटि के कारण किसी समस्या को ठीक करने के बारे में क्या है? लक्षणों को छिपाने के लिए आपको बीमारी का इलाज करने की ज़रूरत है। – zerkms
फोर्किंग की त्रुटि का कारण नहीं है? क्या इसका मतलब यह नहीं है कि ** ** हर बार जब मैं कांटा तो नया कनेक्शन बनाने के लिए? – Hubro
फोर्किंग समस्या का कारण होने की संभावना है। आदर्श रूप में, आपको पहले कांटा बनाना चाहिए और फिर कनेक्शन खोलना चाहिए। यदि यह संभव नहीं है, तो दस्तावेज़ों में यह टिप्पणी मदद कर सकती है: http://php.net/manual/en/function.pcntl-fork.php#70721 यह भी देखें [MySQL सर्वर चला गया है] (http: // dev .mysql.com/डॉक्टर/refman/5.5/en/gone-away.html) - विशेष रूप से फोर्किंग के बारे में रेखा। – Mike