यह एक बहुत ही अस्पष्ट त्रुटि है क्योंकि इसका मतलब कुछ चीजें हो सकता है। कुंजी सभी संभावित लॉग देखने और इसे समझने के लिए है। मेरे मामले में, जो शायद कुछ हद तक अद्वितीय है, मेरे पास एक काम कर रहे nginx + php/fastcgi config था। मैं PHP के एक नए अद्यतन संस्करण को PHP-FPM के साथ संकलित करना चाहता था और मैंने ऐसा किया। कारण यह था कि मैं एक ऐसे लाइव सर्वर पर काम कर रहा था जो डाउनटाइम बर्दाश्त नहीं कर सका। इसलिए मुझे अपग्रेड करना पड़ा और PHP-FPM को यथासंभव सहजता से ले जाना पड़ा।
इसलिए मेरे पास PHP के 2 उदाहरण थे।
- 1 सीधे FastCGI के साथ (5.3.4 PHP) बात कर - यूनिक्स सॉकेट का उपयोग कर - - टीसीपी/127.0.0.1:9000 (5.3.4 PHP)
- 1 पीएचपी-एफ पी एम के साथ विन्यस्त का उपयोग कर यूनिक्स:/dir// सॉकेट-एफ पी एम (PHP 5.3.8)
एक बार मैं टीसीपी के बजाय एक गर्तिका कनेक्शन मैं पर इस नदी के ऊपर त्रुटि आने शुरू हो गए का उपयोग कर एक nginx vhost में PHP एफ पी एम (PHP 5.3.8) को शुरू करने के लिए कोई भी fastcgi पृष्ठ x मिनट से अधिक समय ले रहा है चाहे वे एफपीएम का उपयोग कर रहे हों या नहीं। आम तौर पर यह पेज MySQL में बड़े चयन कर रहा था जो लोड करने के लिए ~ 2 मिनट लेता था। बुरा मुझे पता है, लेकिन यह बैक एंड डीबी डिजाइन की वजह से है।
मैंने इसे ठीक करने के लिए क्या किया था इसे मेरे vhost कॉन्फ़िगरेशन में जोड़ा गया: fastcgi_read_timeout 5m; अब यह nginx वैश्विक fastcgi सेटिंग्स में भी जोड़ा जा सकता है। यह आपके सेट अप पर निर्भर करता है। http://wiki.nginx.org/HttpFcgiModule
स्रोत
2011-12-07 15:45:00
क्या आपको कभी भी PHP त्रुटि लॉग या संदेश से बाहर निकलने का कोई तरीका मिला है? – Bretticus
हाँ php-fpm-slow log। इस लॉग को सक्षम करने के लिए आपको php-fpm.conf को कॉन्फ़िगर करना चाहिए – rampr