2012-07-31 12 views
18

मैंने * Apache2/MySQL/PHP5 के साथ अमेज़ॅन एडब्ल्यूएस पर उबंटू सर्वर 12.04 एलटीएस का एक नया इंस्टॉल स्थापित किया है। जब मैं एक PHP स्क्रिप्ट चलाने के लिए और यह एक त्रुटि का सामना करना पड़ता मैं किसी भी त्रुटि पीएचपी से रिपोर्टिंग नहीं दिख रहा है, सब मैं देख रहा हैPHP त्रुटियों को प्रदर्शित नहीं कर रहा है - आंतरिक सर्वर त्रुटि (500)

HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request. 

मैं अपने /etc/php5/apache2/php.ini फ़ाइल जाँच की है और जहाँ तक मैं त्रुटि रिपोर्टिंग बता होना चाहिए कर सकते हैं सेट अप। फ़ाइल की सामग्री (त्रुटियों के संबंध में) हैं:

; display_errors 
;  Default Value: On 
;  Development Value: On 
;  Production Value: Off 

; display_startup_errors 
;  Default Value: Off 
;  Development Value: On 
;  Production Value: Off 

; error_reporting 
;  Default Value: E_ALL & ~E_NOTICE 
;  Development Value: E_ALL | E_STRICT 
;  Production Value: E_ALL & ~E_DEPRECATED 

क्या कोई सलाह दे सकता है? अगर मैं $obj = new ObjectDoesntExist; जैसे कुछ कोशिश करता हूं तो यह मुझे Fatal error: Class 'ObjectDoesntExist' नहीं बताता है, यह मुझे एक सर्वर 500 त्रुटि देता है।

कोई सलाह?

* मेरे द्वारा स्थापित मॉड्यूल हैं: mysql-server mysql-client apache2 php5 libapache2-mod-php5 phpmyadmin। अन्य की तुलना में यह एक पूरी तरह से आधार उबंटू सर्वर 12.04 LTS

संपादित की स्थापित है: अगर मैं अपने स्क्रिप्ट यह सामान्य रूप में त्रुटियां नहीं दिखाती के शुरू में ini_set('display_errors', '1'); उपयोग करें, लेकिन मैं कैसे इस साइट विस्तृत सक्षम करूं?

+0

क्या आप अपना अपाचे सर्वर अगर error_log में कुछ भी देखते हैं? ऐसा लगता है जैसे mode_php बस काम नहीं करता है। क्या एक php फ़ाइल केवल '<होगी? phpinfo(); ?> आउटपुट दें? – favoretti

+0

क्या आपने अपाचे त्रुटि लॉग '/ var/log/apache2/error.log' की जांच की है? – Kalpesh

+2

आपकी php.ini में उन सभी पंक्तियों पर टिप्पणी की गई है। खोजें कि 'display_errors' कहां घोषित किया गया है और इसे चालू करें। –

उत्तर

14

आपके द्वारा चिपकाए गए php.ini स्निपेट में प्रत्येक पंक्ति में अर्धविराम (; चरित्र) है। अर्धविराम php.ini में एक टिप्पणी की शुरुआत है, इसलिए अर्धविराम के बाद एक पंक्ति में सब कुछ उपयोग नहीं किया जाता है। E_ALL पर display_errors को मैन्युअल रूप से सेट करने और त्रुटि_ रिपोर्ट करने, या इसे ठीक करने के लिए उपयुक्त सेमीकॉलन को हटाने का प्रयास करें।

इसके अलावा, अपने अपाचे के त्रुटि लॉग की जांच करें, PHP शायद इसकी त्रुटियों को लॉग कर रहा हो।

+0

मैंने उपरोक्त पोस्ट किए गए स्निपेट से ';' को अनमोल किया है और 'display_errors = on' और' display_startup_errors = ऑन 'सेट किया है जहां मैंने उन्हें' php.ini' फ़ाइल में पाया लेकिन फिर भी वही समस्या है? – iainjames88

+1

क्या आपने अपने php.ini में बदलाव करने के बाद अपाचे को पुनरारंभ किया था? अपाचे के त्रुटि लॉग में कोई त्रुटि? – Wouter

+2

आपके उत्तर की प्रतीक्षा करते समय अपाचे को पुनरारंभ किया और इसे हल किया गया। मूल रूप से ऐसा करने के लिए थोड़ा मूर्ख महसूस करें! मदद के लिए धन्यवाद :) – iainjames88

0

मुझे एक ही समस्या थी लेकिन php.ini से संबंधित नहीं है यदि आपके पास एक ही त्रुटि है, तो आप अपने सर्वर पर स्निप करना शुरू करने से पहले, अपना कोड जांचें। गलती गुम हो सकती है}) या; या कुछ इस तरह का। यह सिर्फ संदर्भ है कि पहले क्या करना है।

2

कृपया sudo gedit /etc/php5/apache2/php.ini और उत्पादन मान पर php.ini फ़ाइल संपादित करें, या आप ini_set ('display_errors', '1') का भी उपयोग कर सकते हैं; आपकी PHP फ़ाइल के शीर्ष पर

संबंधित मुद्दे