घातक त्रुटि के बजाय Nginx + PHP-FPM 502 ख़राब गेटवे का उत्पादन करते हैं?


11

मैं अभी Nginx और PHP-FPM के साथ Symfony2 का परीक्षण कर रहा हूं। मैं भी Xdebug का उपयोग करता हूं।

Symfony2 एक डेमो बंडल के साथ आता है, मैं घातक त्रुटियों की नई हैंडलिंग का परीक्षण करना चाहता था जो Acme / डेमो बंडल में एक सिंटैक्स त्रुटि बनाकर Symfony 2.2.0 के साथ आता है। मैं ऐसा क्यों करता हूं, सर्वर प्रतिक्रिया 502 खराब गेटवे है।

लेकिन अगर मैं फ़ाइल app_dev.php में एक सिंटैक्स त्रुटि करता हूं (इसलिए फ्रेमवर्क से पहले), तो Xdebug मुझे घातक त्रुटि के बारे में बताता है।

और आश्चर्यजनक रूप से, यदि मैं उस टाइपो को ठीक करता हूं, तो एक्मे / डेमो बंडल में सिंटैक्स त्रुटि को फिर से बनाएं, तो सिम्फनी त्रुटि हैंडलर अपेक्षा के अनुरूप दिखाई देता है। और अंत में यदि सभी टाइपो (पेज काम करता है) को ठीक करें तो फिर से उसी टाइपो (फिर से एक्मे / बंडल में) बनाएं, मुझे एक खराब गेटवे मिलता है।

क्या आपके पास इस पर कोई सुराग है?


किसी भी अद्यतन? मेरे पास एक ही मुद्दा है
केविन रॉबेल

यहां भी अपडेट के लिए
ज़ाकी अज़ीज़

जब आप खराब गेटवे त्रुटि प्राप्त करते हैं तो आपके nginx error.log में कौन सी रेखा दिखाई देती है? यह एक PHP-FPM सॉकेट के लिए 90% एक गलत संकेत है। इसके अलावा, क्या आप हमें अपने nginx विन्यास और PHP-FPM पूल विन्यास का उपयोग कर सकते हैं?
बर्ट

जवाबों:


1

यह मेरे साथ कल हुआ था। यह nginx से php5-fpm को सौंपने में एक त्रुटि थी जो गलत सॉकेट पर सुनने के लिए php-fpm सेवा को कॉन्फ़िगर किया गया था।

in /etc/php5/php-fpm.conf मैं इसमें बदल गया:

सुनो = /var/run/php5-fpm.sock

और सभी में / etc / nginx / सुनिश्चित करें कि fastcgi_pass unix: /var/run/php5-fpm.sock

HTH


नहीं, मेरा कॉन्फ़िगरेशन तब से काम करता है जब मैं ऐप का उपयोग कर सकता हूं। यह केवल इस विशिष्ट परिदृश्य पर है, मैंने वर्णन किया।
9

बफ़र्स को बदलने का प्रयास करें। stackoverflow.com/questions/27173945/…
रयान

0

आप nginx लॉग की जाँच करके सटीक समस्या ट्रैक कर सकते हैं।

/var/log/nginx/sitename.error.log

502 क्योंकि php-fpm प्रक्रिया से जुड़ने में कुछ समस्या है। लॉग आपको अधिक जानकारी दे सकता है। यदि आप लॉग को अलग करना चाहते हैं, तो अपने php एप्लिकेशन के स्थान के तहत अलग त्रुटि_लॉग का उल्लेख करें, जैसे

    location <name> {

    error_log /var/log/nginx/site_location.error.log;
  #  error_log /var/log/nginx/site_location.error.log debug;

    }

(यदि nginx अलग-अलग पोर्ट / phpfpm / सॉकेट से कनेक्ट करने का प्रयास कर रहा है तो आपको इस से उत्तर मिल सकता है)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.