2012-01-20 5 views
8

जब मैं PHP में मेरी REST API विकासशील कर रहा हूँ मैं application/json उत्पादन के साथ काम कर रहा हूँ, इसलिए जब मैं त्रुटियों मिलता है जबकि ब्राउज़र में परीक्षण वे इस तरह दिखेगा:मैं एचटीएमएल के बजाय कच्चे पाठ के रूप में अपवादों को डंप करने के लिए PHP कैसे बता सकता हूं?

<b>Fatal error</b>: Uncaught exception 'Exception' with message 'PDO caught an error: 
array(3) { 
    [0]=&gt; 
    string(5) &quot;42000&quot; 
    [1]=&gt; 
    int(1065) 
    [2]=&gt; 
    string(15) &quot;Query was empty&quot; 
} 

और यह खराब हो जाता है जब मैं बड़ी हो जाओ ढेर निशान और सामान। तो क्या कोई झंडा है जो मैं PHP को बता सकता हूं कि मैं अपनी त्रुटियों को अनचाहे और कच्चे पाठ में चाहता हूं?

उत्तर

0

कुछ कॉन्फ़िगरेशन विकल्प हो सकते हैं जो मुझे ऐसा नहीं मिल रहा है - मुझे संदेह है कि HTML कमांड लाइन पर मौजूद नहीं है।

html_entity_decode(strip_tags($str)) के माध्यम से तारों को पारित करने के लिए चारों ओर एक गंदा काम है।

संपादित के रूप में एंडी पीटर्स ने कहा है (वह पढ़ने डॉक्स पर स्पष्ट रूप से बेहतर है की तुलना में मैं कर रहा हूँ) वहाँ एक विन्यास विकल्प है html_errors कहा जाता है इस पर नियंत्रण करने के लिए। मैं इस उत्तर को किसी कारण से यहां छोड़ दूंगा क्योंकि आप इसे संशोधित नहीं कर सकते हैं, लेकिन आपको शायद उसका जवाब स्वीकार करना चाहिए।

7

आपके php.ini में आप HTML त्रुटियों को प्रदर्शित करने के तरीके को बदलने के लिए तीन अलग-अलग सेटिंग्स सेट कर सकते हैं।

मैं अपने विकास के वातावरण में निम्न का उपयोग कर के बाद एक त्रुटि संदेश उत्पादन के लिए

  • error_append_string स्ट्रिंग से पहले उत्पादन के लिए स्ट्रिंग:

    html_errors = On 
    error_prepend_string = "<pre>" 
    error_append_string = "</pre>" 
    
  • +0

    इसके अलावा पर्याप्त ['log_errors_max_len' सेट करना न भूलें ] (Http://php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len)। – Pacerier

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

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