मेरा एक ग्राहक अपने Magento सिस्टम में कुछ कोड के साथ एक अजीब समस्या की रिपोर्ट कर रहा है (Magento PHP में लिखा गया एक ईकॉमर्स मंच है)। मेरे पास सिस्टम को सीधे पहुंचने और डीबग करने के लिए सीधे पहुंच नहीं है, इसलिए मैंने सोचा कि मैं स्टैक ओवरफ़्लो से पूछूंगा यदि आपने कभी ऐसा कुछ देखा है।PHP रैंडम क्लास नाम को स्वत: लोड करने का प्रयास करता है
त्रुटि कभी-कभी वे देख रहे हैं
Warning: include(O1ucm02owqn3iwwcx5osz2m2.php): failed to open stream:
है एक कॉल स्टैक कि इस से
#0 /Users/theirusername/Sites/project/lib/Varien/Autoload.php(93): mageCoreErrorHandler(2, 'include(O1ucm02...', '/Users/theiruse...', 93, Array)
#1 /Users/theirusername/Sites/project/lib/Varien/Autoload.php(93): Varien_Autoload::autoload()
#2 [internal function]: Varien_Autoload->autoload('o1ucm02owqn3iww...')
#3 [internal function]: spl_autoload_call('o1ucm02owqn3iww...')
#4 /Users/theirusername/Sites/project/app/code/local/Theirname/Commercebug/Model/Observer.php(191): defined('Mage_Core_Block...')
शामिल के साथ, मैं यह मान सकते हैं पीएचपी यह एक वर्ग O1ucm02owqn3iwwcx5osz2m2
नामित दृष्टांत की जरूरत है सोचता है कि। हालांकि, मैं का पता नहीं लगा सकता क्यों PHP ऐसा कर सकता है। लाइनों है कि त्रुटि उत्पन्न (callstack में # 4, Observer.php
में लाइन 191 के आसपास) होना चाहिए
if(defined("Mage_Core_Block_Template::XML_PATH_DEBUG_TEMPLATE_HINTS"))
{
$path = Mage_Core_Block_Template::XML_PATH_DEBUG_TEMPLATE_HINTS;
}
ये लाइनें नहीं है किसी भी पीएचपी वर्ग O1ucm02owqn3iwwcx5osz2m2
नामित (मैं कहता हूँ "होना चाहिए" क्योंकि उल्लेख करने के लिए ग्राहक ने स्वयं कोड को तैनात किया है, मैं संभावित समस्याओं की तलाश करने के लिए एक प्रति प्राप्त करने के लिए उनके साथ काम कर रहा हूं)।
क्या किसी को पता है कि क्या हो रहा है? क्या यह कुछ संस्करण के साथ एक ज्ञात PHP बग/मुद्दा है और/या किसी ने इस तरह के मुद्दों को PHP ऑटोलोडर/defined
/कक्षा स्थिरांक के साथ देखा है?
(मैं PHP के संस्करण का निर्धारण करने के लिए अपने ग्राहकों के साथ काम कर रहा हूँ कि वे चल रहे हैं, साथ ही फाइलों वे सुनिश्चित करने के लिए तैनात किया गया है की एक प्रति हो रही वे मेल यह मानें कि मैं क्या कर रहे हैं।)
वे अन्य तृतीय पक्ष एक्सटेंशन का उपयोग कर रहे हैं? इसके अलावा उनके पास अन्य PHP मॉड्यूल क्या हैं? कुछ प्रकार के भ्रष्टाचार की तरह लगता है। क्या वे एपीसी या एक्सकैच या ई एक्सेलेरेटर का उपयोग करते हैं? साथ ही, क्या यह हमेशा एक ही कक्षा का अनुरोध किया जाता है या क्या यह हमेशा यादृच्छिक बकवास की कुछ स्ट्रिंग है? –
किसी भी मौके से ज़ेंड गार्ड लोडर का उपयोग करने के लिए हुआ? ऐसा लगता है कि समय-समय पर नाम बदलने में अति उत्साही है और इस प्रकार – Jasper
का वर्णन करने वाले तरीके से स्क्रिप्ट को तोड़ना मुझे –