बस डालें
ini_set("default_socket_timeout", 2);
आपके पीडीओ() कनेक्ट स्ट्रिंग से पहले।
(विंडोज़ पर परीक्षण किया गया, लिनक्स पर भी ठीक होना चाहिए।)
क्यों?
मैनुअल के माध्यम से इसका पीछा करना:
mysqlnd ड्राइवर अंतर्निहित कनेक्शन के लिए सॉकेट का उपयोग करता है, और टाइमआउट सेट करने के लिए आपको सॉकेट (स्ट्रीम) टाइमआउट फ़ंक्शंस का उपयोग करने की आवश्यकता होती है। (संदर्भ:http://php.net/manual/en/mysqlnd.notes। php )
यदि आप अधिक नियंत्रण चाहते हैं, तो आप अधिक विशेष रूप से वास्तविक सॉकेट को नियंत्रित करने में सक्षम हो सकते हैं:मैंने इसका परीक्षण नहीं किया है क्योंकि यह केवल यूनिक्स है। सॉकेट mysqlnd उपयोग सेट करने के लिए, आप आईएनआई सेटिंग्स का उपयोग करके सॉकेट निर्दिष्ट कर सकते हैं (संदर्भ:http://php.net/manual/en/ref.pdo-mysql.connection.php )
देखें http://php। net/manual/hi/ref.pdo-mysql.php#ini.pdo-mysql.default-socket उस सेटिंग के बारे में
लेकिन डिफ़ॉल्ट सेट करना और फिर काम पूरा करने के बाद रीसेट करना आसान हो सकता है...