मैं IIS7 पर PHP त्रुटियों को कैसे प्रदर्शित और लॉग इन कर सकता हूं?


29

हम एक IIS 7 सर्वर पर PHP 5.2.5 चला रहे हैं और हमें PHP त्रुटियों को दिखाई देने में समस्या हो रही है ... जब भी हमारे पास एक PHP त्रुटि होती है सर्वर संदेश के साथ एक 500 त्रुटि वापस भेजता है "पृष्ठ नहीं हो सकता आंतरिक सर्वर त्रुटि आई है, क्योंकि इसे प्रदर्शित किया गया है। "

यह उत्पादन वेबसाइटों के लिए एक अच्छी सेटिंग हो सकती है, लेकिन यह एक विकास सर्वर पर परेशान हो रही है ... ;-)

मैंने php.iniस्क्रीन पर त्रुटियों को प्रदर्शित करने के साथ-साथ उन्हें एक विशिष्ट फ़ोल्डर में प्रवेश करने के लिए कॉन्फ़िगर करने का प्रयास किया है, लेकिन ऐसा लगता है कि सर्वर पहले सभी त्रुटियों को पकड़ता है और PHP द्वारा रोकता है और संभालता है ...

क्या किसी को पता है कि हमें स्क्रीन पर IIS प्रदर्शन PHP त्रुटियों को बनाने के लिए क्या करना है? इस विषय पर किसी भी लिंक, टिप या ट्यूटोरियल की सराहना की जाएगी!


सबसे पहले, सुनिश्चित करें कि आप इन है: log_errors=1, error_reporting=-1, log_errors_max_len=0
पचेरियर 17

ini_set("display_errors", "on");इन पंक्तियों को php फ़ाइल में जोड़ें।
इलीट

जवाबों:


35

बस दो बार जांच करने के लिए, क्या आपके पास लॉगिंग सेट है error_reporting = E_ALL, और display_errors = Onआपके में php.ini? आमतौर पर IIS 7 में इन त्रुटियों को प्रदर्शित करने के लिए यह पर्याप्त है।

इसके बाद, अपने IIS सेटिंग्स पर एक नज़र डालें, क्योंकि यह केवल स्थानीय स्तर पर त्रुटि संदेश दिखाने के लिए सेट किया जा सकता है। IIS 7 कॉन्फ़िगरेशन संपादक में यह system.webServer-> httpErrors के अंतर्गत है। आपको ErrorLode को विस्तृत से विस्तृत सूची में बदलने की आवश्यकता होगी। जाहिर है इसका मतलब है कि आपकी साइट को ब्राउज़ करने वाला कोई भी व्यक्ति त्रुटि को देख सकेगा।

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

वैकल्पिक रूप से, यदि आप उन्हें स्थानीय रखना चाहते हैं तो आप सर्वर में लॉग इन करने के लिए रिमोट डेस्कटॉप का उपयोग कर सकते हैं और यदि आप कर सकते हैं, तो वहां से ऐप चला सकते हैं।


1
हाँ, मैंने जाँच की और यह सब ठीक से कॉन्फ़िगर किया गया है।
बेन

कुछ और समस्या निवारण जानकारी जोड़ी
सैम कोगन

1
"विस्तृत सूची" से "विस्तृत" करने के लिए errorMode को बदलकर चाल चली। धन्यवाद!
बेन

1
मुझे system.webServer के तहत HTTP त्रुटियों के संग्रह को भी हटाना था। जब तक मैंने नहीं किया PHP के साथ काम नहीं किया।

1
कृपया system.webServerमेरे रक्त के साथ उजागर करें और ध्यान दें: "हां, कॉम्बो है"।
दिजी

2

बस जोड़ना चाहता था, कि "मौजूदा रिप्सन" को "पासथ्रू" पर सेट किया जाए। मुझे उस अतिरिक्त सेटिंग के बिना कोई वास्तविक त्रुटि संदेश नहीं मिला।


1
यह सेटिंग कहां स्थित है?
यूजीन माला

0

आप इसे IIS प्रबंधक GUI का उपयोग करके आसानी से कर सकते हैं। अपनी साइट का चयन करें और त्रुटि पृष्ठों पर डबल-क्लिक करें। फिर 'फीचर सेटिंग संपादित करें ...' को हिट करें और स्थानीय अनुरोधों के लिए डिफ़ॉल्ट त्रुटि त्रुटियों और दूरस्थ अनुरोधों के लिए कस्टम त्रुटि पृष्ठों के बजाय 'विस्तृत त्रुटियों' विकल्प चुनें। Voilà, उतना ही सरल!


फिर लॉग और त्रुटियों को कहां दिखाया जा सकता है?
JukEboX

0

मुझे वेबसर्वर पर php कॉन्फ़िगरेशन में सेटिंग्स में जाना था और त्रुटि रिपोर्टिंग के लिए वहाँ एक सेटिंग है और डिफ़ॉल्ट रूप से उत्पादन के लिए सेट है। Php.ini और सुझाव को बदलने के बाद भी इसे विकास में बदलना था। मैं 2008 R2 पर iis 7.5 का उपयोग कर रहा हूं।

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