PHP
त्रुटियों और चेतावनियों का संकलन
खोज…
सूचना: अपरिभाषित सूचकांक
सूरत:
किसी कुंजी द्वारा किसी सरणी तक पहुंचने की कोशिश करना जो कि सरणी में मौजूद नहीं है
संभावित समाधान :
इसे एक्सेस करने से पहले उपलब्धता की जांच करें। उपयोग:
चेतावनी: शीर्ष लेख की सूचना को संशोधित नहीं किया जा सकता - हेडर पहले ही भेजे जा चुके हैं
सूरत:
तब होता है जब आपकी स्क्रिप्ट क्लाइंट को एक HTTP हेडर भेजने की कोशिश करती है, लेकिन पहले से ही आउटपुट था, जिसके परिणामस्वरूप हेडर पहले से ही क्लाइंट को भेजे जाते थे।
संभावित कारण :
प्रिंट, इको: प्रिंट और इको स्टेटमेंट से आउटपुट HTTP हेडर भेजने का अवसर समाप्त कर देगा। उससे बचने के लिए एप्लिकेशन प्रवाह का पुनर्गठन किया जाना चाहिए।
कच्चे HTML क्षेत्र: .php फ़ाइल में अनपेक्षित HTML अनुभाग प्रत्यक्ष आउटपुट भी हैं। किसी भी कच्चे ब्लॉक से पहले
header()
कॉल को ट्रिगर करने वाली स्क्रिप्ट शर्तों को नोट किया जाना चाहिए।<!DOCTYPE html> <?php // Too late for headers already.
"Script.php लाइन 1" चेतावनियों के लिए
<?php
से पहले व्हॉट्सएप: यदि चेतावनी लाइन 1 में आउटपुट को संदर्भित करती है, तो यह खुलने से पहले ज्यादातर व्हाट्सएप, टेक्स्ट या HTML अग्रणी है<?php
टोकन।<?php # There's a SINGLE space/newline before <? - Which already seals it.
मारियो द्वारा एसओ जवाब से संदर्भ
पार्स त्रुटि: सिंटैक्स त्रुटि, अप्रत्याशित T_PAAMAYIM_NEKUDOTAYIM
प्रकटन:
"पैमायम नेकुदोटयिम" का अर्थ हिब्रू में "डबल कोलन" है; इस प्रकार यह त्रुटि दोहरे कर्नल ऑपरेटर ( ::
:) के अनुचित उपयोग को संदर्भित करती है। त्रुटि आमतौर पर एक स्थिर विधि को कॉल करने के प्रयास के कारण होती है, जो वास्तव में, स्थिर नहीं होती है।
संभावित समाधान:
$classname::doMethod();
यदि उपरोक्त कोड इस त्रुटि का कारण बनता है, तो आपको विधि को कॉल करने के तरीके को बदलने की सबसे अधिक आवश्यकता है:
$classname->doMethod();
बाद का उदाहरण मानता है कि $classname
एक वर्ग का एक उदाहरण है, और doMethod()
उस वर्ग का एक स्थिर तरीका नहीं है।