2009-04-06 16 views
6

हम ज़ेंड फ्रेमवर्क का उपयोग करके एक एप्लिकेशन बनाने की कोशिश कर रहे हैं और निम्न समस्या है: "कुछ नियंत्रक क्रियाओं को दो बार बुलाया जाता है। इसका मतलब है कि क्रियाएं बुलाई जाती हैं, इसके निष्पादन को समाप्त करती है और फिर फिर से बुलाया जाता है "।ज़ेंड फ्रेमवर्क एक्शन को दो बार बुलाया जाता है

हमने लॉग फ़ाइल में प्रविष्टियों की जांच करके इसे नीचे ट्रैक किया। एक अनुरोध के लिए जहां लॉग फ़ाइल में 2 प्रविष्टियां हैं।

क्या आप कुछ भी जानते हैं जो इस समस्या का कारण हो सकता है? क्या यह फ्रंट कंट्रोलर की प्रेषण प्रक्रिया से संबंधित है?

सम्मान,

+0

शायद आपकी कार्रवाई कहीं और फ़ंक्शन को कॉल कर रही है, जो एक ही क्रिया को फिर से कॉल कर रही है? – karim79

+0

मुझे इस समस्या का सामना करना पड़ रहा था और यह मेरे लिए काफी समय लगा। मुझे लगता है कि यह एक बहुत ही बुरा मजाक था। – kta

उत्तर

1

यह एक बग हो सकता है। अधिक जानकारी के बिना बताना मुश्किल है।

कार्रवाई विधि कहने पर हर बार बैकट्रैक लॉगिंग करने का प्रयास करें।

<?php 
trigger_error(var_export(debug_backtrace(), true)); 
trigger_error(var_export($_SERVER, true)); 
?> 

यह आपको जानकारी की टन त्रुटि लॉग में है, तो आप एक पाठ-संपादक के लिए परिणाम निर्यात और वहाँ यह माध्यम से चबाना चाहता हूँ दे देंगे। और/या संभवतः कम जानकारी मुद्रित करने के लिए कोड को संशोधित करें।

योग्य कुछ बातें देखने के लिए:

  • कार्रवाई विधि विभिन्न स्थानों से कहा जाता है?
  • क्या $ _SERVER ['UNIQUE_ID'] (या REQUEST_TIME) अलग है?

यदि अद्वितीय-आईडी अलग है तो आपने सर्वर से दो अनुरोध किए हैं। यदि नहीं, तो बैकट्रैक से इसे समझने का प्रयास करें।

2

आगे या कार्रवाई ढेर कारण

2

कोशिश और देखें कि आपके कोड runned है एक डिबगर (उदाहरण के लिए XDebug) का उपयोग हो सकता है। प्रेषक पर ध्यान केंद्रित करें, कुछ हुआ होगा और अनुरोध कार्रवाई को प्रेषित के रूप में सेट नहीं किया गया है, इसलिए इसे फिर से चलाया जाता है।

1

हमें एक ही समस्या थी। कुछ कार्यों को दो बार निष्पादित किया गया था। बहुत डीबगिंग और गुगलिंग के बाद, पता चला कि समस्या ZFdebug में एक बग थी। this patch स्थापित किया गया और सबकुछ सामान्य हो गया। मनाइए कि यह किसी और के लिए सहायक हो।

5

मुझे पता चला कि क्रोम एक्सटेंशन वेबग (Google क्रोम के लिए फ़ायरपीएचपी एक्सटेंशन) सक्षम होने पर कार्रवाई को दो बार अनुरोध किया गया था।

+0

मैं आपको नहीं बता सकता कि यह कितना उपयोगी था। जब मैंने इसे देखा तो मैंने इस थ्रेड पर छोड़ दिया था। धन्यवाद। इस एक्सटेंशन को एक दूसरा अनुरोध करने के लिए क्या गड़बड़ है। वाह। वैसे भी, इसकी बहुत सराहना करते हैं। यह मेरा मुद्दा भी था। –

+0

धन्यवाद दोस्त, डबल अनुरोध मुझे पागल कर रहे थे लेकिन वास्तव में यह फायरपीएचपी था (मेरे मामले में, फ़ायरफ़ॉक्स में) --- सुधार, मेरे पास एफएफ में फायरपीएचपी नहीं है, यह फायरबग स्वयं था जिसने दूसरी कॉल – Peter

1

मैं क्रोम 17.0.x, वेबग और ज़ेंड फ्रेमवर्क 1.11.1 का उपयोग कर रहा हूं और अभी भी इस समस्या को देख रहा हूं। मैंने सुझाए गए वेबग को अक्षम कर दिया और कार्रवाई को केवल एक बार बुलाया गया था।

तो, मुझे लगता है कि यह वेबग में एक बग है।

+0

आई को ट्रिगर किया था। वेबग में इस त्रुटि के लिए क्षमा मांगें - वर्तमान संस्करण में यह तय किया गया है। – fedosov

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