2010-05-19 16 views
9

में PHP डिबगिंग PHP जब मैं PHP डिबगिंग की बात करता हूं तो मैं एक असली नौसिखिया हूं इसलिए मेरी मूर्खता को क्षमा करें। मेरे पास एक साधारण HTML फॉर्म है जो एक PHP स्क्रिप्ट को प्रस्तुत करता है और मैं उस स्क्रिप्ट को डीबग करना चाहता हूं और फॉर्म से क्या भेजा जा रहा हूं।Aptana 2.0

मेरा Aptana में दो दो PHP दुभाषिया स्थापित हैं; Zend डिबगर बंदरगाह 10001 और XDebug 9000

पर पर मैं, स्थानीय स्तर पर चल रहा है फ़ायरफ़ॉक्स Aptana Addon स्थापित

मैं इस यूआरएल पर मेरी HTML पृष्ठ है है;

http://3i/latest.html

आईडीई मैं PHP स्क्रिप्ट खोलने के लिए और कुछ breakpoints जोड़ने में, मैं तो latest.html खोलने के लिए और मैं डिबग बटन पर क्लिक करें। यह एचटीएमएल पेज को स्थानीय वेबसर्वर में चल रहा है;

http://127.0.0.1:8000/3i/latest.html

मैं तो फॉर्म भरें और जिसके आधार पर डिबगर मुझसे कहता जे एस डिबगर समाप्त कर दिया है लेकिन यह मेरी ब्रेक अंक पर बंद नहीं जमा करें।

मुझे अच्छी तरह से पढ़ा गया है और मुझे कुछ भी नहीं मिला जो मेरी मदद करता है, जो मुझे लगता है कि यह कुछ आसान है और मैं थोड़ा गूंगा हूं।

+0

किसी के लिए यह पढ़ रहा है, नीचे दिए गए उत्तर पैफर्ड का उत्तर अधिक सहायक उत्तर था।ईमानदार होने के लिए किसी ने भी इस मुद्दे को हल नहीं किया लेकिन उसने जो लिंक दिया वह फ़ायरफ़ॉक्स प्लग-इन का उपयोग करके एक काम था। मुझे एहसास नहीं हुआ कि अगर मैंने किसी को भी नहीं चुना तो स्टैक ने स्वचालित रूप से बक्षीस पर अंक दिए। – screenm0nkey

उत्तर

3

आप कहते हैं कि आपके पास XDebug और Zend डीबग स्थापित है - क्या आपने अपने स्थानीय php.ini में उचित संशोधन किए हैं? आप दोनों एक ही समय में नहीं चल सकते हैं - डिबगर्स एप्लिकेशन नियंत्रकों के रूप में कार्य करते हैं, आपके वेब सर्वर से संचार करते हैं और इसे आपकी स्क्रिप्ट को निष्पादित करने, रोकने या जारी रखने के आदेश देते हैं और उनमें से दो एक ही समय में कॉन्फ़िगर किए जाते हैं आपके द्वारा वर्णित अप्रत्याशित डिबगिंग व्यवहार।

मान लीजिए कि आप XDebug चाहते हैं, तो आप php.ini खोलेंगे, [XDebug] (या [Zend]) की खोज करेंगे। बाहर टिप्पणी सभी zend_ * विकल्प और में निम्नलिखित विकल्पों के रख:

[XDebug] 
;; Only Zend OR (!) XDebug 
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll" 
xdebug.remote_enable=true 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="C:\xampp\tmp" 

हाँ, मैं जानता हूँ कि मैं इस समय विंडोज पर हूँ - कोलाहल नहीं है। विस्तार पथ को अपने सर्वर पर XDebug के उपयुक्त पथ के साथ बदलें। यदि आप ज़ेंड डीबगर का उपयोग करना चाहते हैं तो यह वही है, बस XDebug को अक्षम करें। अपने वेब सर्वर को पुनरारंभ करना न भूलें।

संपादित करें - मैं अस्पष्ट हो सकता था; आप दोनों स्थापित कर सकते हैं, आप बस एक ही समय में दोनों नहीं चल सकते हैं।

+0

हाय जेरोद, मैंने यह किया है। अब, मैं Aptana कैसे कॉन्फ़िगर करूँ? नीचे मेरी php.ini में जानकारी है zend_extension_ts = D: \ WAMP \ बिन \ php \ php5.2.6 \ ext \ php_xdebug-2.1.0RC1-5.2-vc6.dll xdebug.remote_enable = सच xdebug। REMOTE_HOST = स्थानीय होस्ट xdebug.remote_port = 9000 xdebug.remote_handler = dbgp xdebug.profiler_enable = 1 xdebug.profiler_output_dir = 'डी: \ WAMP \ tmp " – screenm0nkey

+0

मैं अब कि जोड़ने के लिए Apatana में एक PHP दुभाषिए के रूप में है। जब मैं डीबग बटन पर क्लिक करता हूं तो यह स्थानीय Aptana xdebug निष्पादन योग्य का उपयोग करता है जो Aptana प्लगइन्स फ़ोल्डर में मौजूद है। – screenm0nkey

+0

अप्पाना में एक स्क्रीन होना चाहिए जिसे "PHP इंटरप्रेटर संपादित करें" कहा जाता है। आपको निष्पादन योग्य पथ को अपने स्वयं के Xdebug स्थापना में बदलने की आवश्यकता होगी और उस आईएनआई फ़ाइल में पथ (यदि आपने पहले से नहीं किया है) को बदलना है जिसे आप उपयोग करना चाहते हैं। असल में, आपको अपने XDebug को एपटाना में एक डिबगिंग सर्वर (और सही बंदरगाह पर लक्षित करना) के रूप में स्थापित करने की आवश्यकता है, और डीबगिंग करते समय उस सर्वर को दबाएं। –

0

मेरा अनुमान है कि आपके पास अपनी स्थानीय मशीन पर एक PHP सक्षम वेब सर्वर नहीं चल रहा है। Aptana 2.0 (Aptana 1.5 के विपरीत) PHP निर्मित वेब सर्वर में निर्मित एक सुसज्जित नहीं है। इसकी पुष्टि करने के लिए, फ़ायरफ़ॉक्स में अपने लिंक (http://127.0.0.1:8000/3i/latest.html) पर जाएं और स्रोत देखें। यदि आप वास्तविक PHP स्रोत कोड देखते हैं, तो इसका मतलब है कि यह एक PHP सक्षम वेब सर्वर के माध्यम से नहीं चल रहा है।

वहाँ PHP वेब सर्वर के लिए कई अच्छे विकल्प हैं (उदा। XAMPP, WAMP, EasyPHP, UniServer), कुछ googling और एक स्थापित करें। आपको अपने Aptana वर्कस्पेस को इंगित करने के लिए अपाचे उपनाम सेट करना होगा और आपको xdebug को अलग से इंस्टॉल करना पड़ सकता है।

ईमानदारी से Aptana 2.0 एक बहुत अच्छा PHP आईडीई नहीं है। मैं Aptana 1.5 के साथ रहना होगा जो अंतर्निहित PHP सक्षम वेब सर्वर से लैस है।

+0

हाय सेठ, प्रतिक्रिया के लिए धन्यवाद। मैं अपाचे और PHP 5.2.6 चला रहा हूं, जिसे मैंने WAMP का उपयोग करके इंस्टॉल किया है। तो उपयोगकर्ता http: //3i/latest.html अपाचे पर चल रहा है लेकिन जब मैंने डीबग बटन दबाया तो यह इसे Aptana में चल रहे स्थानीय वेबसर्वर में लोड करता है। – screenm0nkey