"वेबसाइट को एक अप्रत्याशित त्रुटि का सामना करना पड़ा है। बाद में पुन: प्रयास करें।"


27

मुझे ड्रुपल 7 के साथ यह त्रुटि है

  1. मुझे इस त्रुटि के बारे में कुछ और जानकारी कैसे हो सकती है? कहीं कोई रिपोर्ट, कोई लॉग? Php त्रुटियों में कुछ भी नहीं।

  2. मैं उस संदेश को कैसे अक्षम कर सकता हूं और डिबग उद्देश्य के लिए अधिक उपयोगी है?

नोट : मेरा प्रश्न "मैं इस समस्या को कैसे ठीक कर सकता हूं" नहीं है

जवाबों:


27

यह त्रुटि एक अनकैप्ड PHP अपवाद से आती है । Drupal अपवादों को पकड़ता है इसलिए उपयोगकर्ता के लिए कोई बदसूरत PHP त्रुटि संदेश प्रदर्शित नहीं होता है। आप रिपोर्ट पर 'हाल के लॉग संदेश' लिंक में अपवाद जानकारी पा सकते हैं (या इस पथ का प्रयास करें: / व्यवस्थापक / रिपोर्ट / dblog)। सुनिश्चित करें कि 'डेटाबेस लॉगिंग' मॉड्यूल सक्षम है क्योंकि यह मॉड्यूल यह रिपोर्ट प्रदान करता है।

आपको सभी आंतरिक संदेश दिखाई देंगे जो उत्पन्न हो चुके हैं। फ़िल्टर 'PHP' और गंभीरता 'त्रुटि' के आधार पर और आपको शायद एक अनकहा अपवाद के बारे में एक संदेश मिलेगा। यह आपकी समस्या का कारण बन रहा है। अब आपके पास और जानकारी है तो आप इसे ठीक कर सकते हैं।


ठीक है धन्यवाद, इसलिए इस व्यवहार को अधिक डिबग-कंप्लेंट करने के लिए कोई आउट-ऑफ-द-बॉक्स तरीका नहीं है? (जैसे कि ... स्क्रीन पर अपवाद प्रदर्शित करते हुए)
11

नहीं, AFAIK ऐसा करने का कोई आसान तरीका नहीं है। आप अपना स्वयं का अपवाद हैंडलर सेट करने का प्रयास कर सकते हैं (मानक PHP फ़ंक्शन set_exception_handler का उपयोग करके) लेकिन दुष्प्रभावों से सावधान रहें।
sanzante 12

7
जाँच करने के लिए महान विचार /admin/reports/dblog। जब तक, निश्चित रूप से, आप लॉगिन भी नहीं कर सकते क्योंकि इस बेवकूफ त्रुटि ने आपकी पूरी ड्रुपल साइट को ठीक कर दिया है!
g33kz0r

अपने आप में, यह त्रुटि "दृश्यमानता के साथ देखी गई" FieldException: अज्ञात का एक क्षेत्र बनाने का प्रयास करें ... "मुझे drush en viewreference सक्षम करने के लिए हल करने का काम किया - मैं अन्य लोगों के साथ काम कर रहा हूं और उनके गिट अपडेट को खींच रहा हूं ताकि मुझे मॉड्यूल मिल जाए, लेकिन मुझे मॉड्यूल को सक्षम करने की आवश्यकता है (जैसा कि डेटाबेस में सक्षम है, जो मुझे पुल अनुरोध में नहीं मिल रहा है, हम सुविधाओं का उपयोग कर रहे हैं)। आशा है कि यह अन्य लोगों की मदद करता है।
उपचार

4
@ g33kz0r: आप त्रुटि संदेशों को देखने के लिए ड्रश वॉचडॉग-शो का उपयोग कर सकते हैं या यदि आपकी साइट पूरी तरह से टूट गई है तो डेटाबेस में वॉचडॉग टेबल की जांच करें जहां उन संदेशों को संग्रहीत किया गया है।
sanzante

15

Drupal 6 & 7

यदि ड्रश का उपयोग कर रहे हैं, तो बस करें drush vset error_level 1

अन्यथा, " /admin/config/development/logging" पर जाएं और सेटिंग को "त्रुटियां और चेतावनी" में बदल दें

द्रुपाल al

इसके बजाय drush vset/ vget/ vdel, आप उपयोग कर सकते हैं cset/ cget/ cdelconfig मूल्यों के लिए और sset/ sget/ sdelराज्य मूल्यों के लिए।


12

आसान तरीका

अपनी सेटिंग संपादित करें। पीपीपी और वहां एक पंक्ति जोड़ें (विशेष रूप से आपके देव स्थल पर, आप बस इसे चालू रख सकते हैं)

$conf['error_level'] = 1;

ड्रश आपको डेटाबेस को बूटस्ट्रैप करने में सक्षम होने की आवश्यकता है।


सबसे अच्छा जवाब। इसने मेरा समय बचाया।
ऑस्टिन

6

Drupal 8 के लिए आसान तरीका ,

यदि आप स्वीकार किए गए उत्तर में दिए गए हाल के लॉग संदेशों तक पहुँचने के लिए अब और लॉगिन नहीं कर सकते हैं।

/sites/default/settings.phpसंपादक या एफ़टीपी क्लाइंट के साथ फ़ाइल खोलें और इस लाइन को जोड़ें:

$config['system.logging']['error_level'] = 'verbose';

पृष्ठ को पुनः लोड करने के बाद आपको सामान्य त्रुटि के बजाय एक पूर्ण त्रुटि संदेश दिखाई देगा "वेबसाइट को एक अप्रत्याशित त्रुटि का सामना करना पड़ा। बाद में पुन: प्रयास करें।"


2

वह त्रुटि कहां से आती है _drupal_log_error()

विकास के लिए एक त्वरित सुधार के रूप में आप अधिक क्रिया त्रुटि संदेश प्रदान करने के लिए उस फ़ंक्शन को अपडेट कर सकते हैं, लेकिन सुनिश्चित करें कि साइट लाइव होने से पहले आप इसे वापस बदल दें :)


0

Dblog चेक करें। Drupal webite में त्रुटियों को खोजने के लिए इसका सबसे अच्छा स्थान है। अपने ब्राउज़र में अतिरिक्त त्रुटियों को दूर करने के लिए JS कंसोल की भी जाँच करें।


Dblog (/ व्यवस्थापक / रिपोर्ट / dblog) के लिए धन्यवाद। अब, मैं उस संदेश को कैसे निष्क्रिय कर सकता हूं और डीबग उद्देश्य के लिए अधिक उपयोगी है?
9

1
वैसे भी, मुझे नहीं लगता है कि एक जेएस त्रुटि उस सर्वर त्रुटि का कारण बन सकती है ...
9

0

watchdogMySQL में तालिका में जाँच करें । आप ब्लॉब ( variablesकॉलम) डाउनलोड कर सकते हैं और इसे नोटपैड के साथ खोल सकते हैं। यह आपको आपकी त्रुटि के साथ क्रमबद्ध वस्तु दिखाएगा।


0

इसे इस्तेमाल करे:

त्रुटि स्तर

admin menu equivalent: admin/config/development/logging
drush command: drush vset -y error_level <value>
values:
    0: none
    1: errors and warnings
    2: all 

0

अपनी Drupal वेबसाइट पर दिखाई देने वाली त्रुटियों के लिए, अपनी साइट के मुख्य निर्देशिका में index.php फ़ाइल ढूंढें। Index.php खोलें और फ़ाइल की पहली पंक्ति से पहले इस कोड को सीधे जोड़ें:

error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 

आप यहाँ वर्णित के रूप में त्रुटि लॉग के साथ Drupal समस्या को हल करने का प्रयास कर सकते हैं।


0

यह एक पुराना धागा है लेकिन जैसा कि मैंने हाल ही में अपने इनपुट प्रदान करते हुए इसी मुद्दे का सामना किया। मैं किसी भी ड्रुपल रास्तों का उपयोग करने में सक्षम नहीं था क्योंकि मुझे हमेशा यह त्रुटि मिल रही थी चाहे कोई भी हो। यह तब शुरू हुआ जब मैंने एक दृश्य को अपडेट किया तो मुझे पता था कि क्या किया जाना चाहिए लेकिन मैं इस दृश्य को खोलने में सक्षम नहीं था। इस प्रकार मैंने अपाचे सर्वर लॉग में देखा। ऊपर दिए गए समाधान के अलावा जैसे कि ड्रश और डब्लॉग को देखने के बजाय यह अपाचे सर्वर लॉग में देखने के लिए उपयोगी हो सकता है, खासकर जब आप किसी भी एप्लिकेशन पथ तक नहीं पहुंच सकते हैं। ये आम तौर पर \ log \ error.log फ़ाइल के अंतर्गत मौजूद होते हैं और इसमें अनहेल्ड किए गए अपवाद और उस स्थान पर विवरण होता है जहां इसका निर्माण हो रहा है आदि। एक त्वरित फिक्स के रूप में आप उस कोड की टिप्पणी कर सकते हैं जो अपवाद को फेंक रहा है और एप्लिकेशन को अपडेट करता है। मेरे मामले में मैंने उस कोड पोस्ट पर टिप्पणी की जिसे मैं देखने के लिए प्राप्त करने और आवश्यक अपडेट करने में सक्षम था। आशा है कि यह कुछ ऐसी ही स्थितियों में किसी की मदद करेगा


0

यह बहुत दिलचस्प है लेकिन अगर आप पृष्ठ स्रोत (CTRL-U) खोलते हैं तो सभी चेतावनी और त्रुटि संदेश हैं, वे सिर्फ एक छिपे हुए तत्व में हैं। के लिए खोजें element-invisible

संपादित करें: $conf['error_level'] = 1;इसे settings.phpफ़ाइल में भी रखा जाना चाहिए ।

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