से कनेक्ट करने में विफल रहता है तो मुझे एक सीआई इंस्टेंस मिला है जो एक डीबी से कनेक्ट होता है और पृष्ठों की सेवा करने से पहले अनुमतियों को चेक करता है। यदि पृष्ठ वर्तमान उपयोगकर्ता के लिए उपलब्ध नहीं है, तो यह लॉगिन पृष्ठ पर रीडायरेक्ट करता है।पता लगाएं कि जब कोडइग्निटर डीबी
लॉगिन पृष्ठ, जाहिर है, अनुमति सेट है ताकि यह सभी उपयोगकर्ताओं के लिए सुलभ हो।
हाल ही में गड़बड़ के बाद, डेटाबेस सर्वर एक अलग आईपी पते पर वापस आया (धन्यवाद अमेज़ॅन, ईसी 2)। इसके परिणामस्वरूप सीआई किसी भी पेज के लिए अनुमतियों की जांच करने में असमर्थ रहा - लॉग इन सहित। चूंकि कोड हां के अलावा कुछ भी मानता है, इसलिए यह लॉगिन पर रीडायरेक्ट किया गया है। नतीजा एक अनंत रीडायरेक्ट लूप था।
हालांकि यह सटीक समस्या फिर से नहीं होनी चाहिए (स्टेटिक लोचदार आईपी), मैं यह जानना चाहता हूं कि डीबी कनेक्शन कब नीचे है और इसे उचित तरीके से संभाल लें।
मैंने This SO Question देखा है जो मैं प्राप्त करने की कोशिश कर रहा हूं लेकिन मैं किसी भी नियंत्रक में डेटाबेस को स्पष्ट रूप से लोड नहीं कर रहा हूं, यह स्वत: लोड कॉन्फ़िगरेशन फ़ाइल में है।
तो,
मैं कैसे सीआई अंदर से Db कनेक्शन की स्थिति को क्वेरी कर सकते हैं? क्या मुझे बेकार पूछताछ चलाने की ज़रूरत है और जांच करें कि क्या मुझे परिणाम मिलते हैं या क्या कोई और शानदार समाधान है?
संपादित करें: जांच वर्तमान में एक हुक में प्रदर्शन किया जा रहा है:
$hook['post_controller_constructor'] = array(
'class' => 'AuthHook',
'function' => 'ValidateCredentials',
'filename' => 'auth.php',
'filepath' => 'hooks'
);
ऐसा लगता है कि मैं परीक्षण कर रहा था - संभवतः यह कोई कनेक्शन नहीं होने पर यह शून्य/अनसेट होगा? – Basic
असल में यह गलत होगा - तो आप "अगर (! $ यह-> डीबी-> conn_id) कर सकते हैं) – Laurence
धन्यवाद, यह अच्छी तरह से काम कर रहा है – Basic