मेरे पास एक्सएएमपीपी 1.7.3 ए अमेज़ॅन ईसी 2 क्लाउड में "अमेज़ॅन लिनक्स" (सेंटोस-व्युत्पन्न) 32-बिट उदाहरण पर चल रहा है। मैंने XDEBUG 2.1.0 डाउनलोड/निर्मित/स्थापित किया। phpinfo में प्रासंगिक आइटम() इस तरह उत्पादन देखो:xdebug पोर्ट 9000 के साथ रिमोट डीबगिंग एसएस सुरंग के माध्यम से अग्रेषित - इसे कैसे काम करें?
Directive Local Value Master Value
xdebug.idekey ECLIPSE_DBGP ECLIPSE_DBGP
xdebug.default_enable On On
xdebug.remote_autostart On On
xdebug.remote_connect_back Off Off
xdebug.remote_cookie_expire_time 3600 3600
xdebug.remote_enable On On
xdebug.remote_handler dbgp dbgp
xdebug.remote_host 127.0.0.1 127.0.0.1
xdebug.remote_mode req req
xdebug.remote_port 9000 9000
xdebug.remote_log /opt/lampp/logs/xdebug_log
/opt/lampp/logs/xdebug_log
मैं XP SP3 चला रहे Windows लैपटॉप से लिनक्स बॉक्स का उपयोग, पुट्टी संस्करण 0.60 में SSH ग्राहक का उपयोग कर। लैपटॉप पर मैंने एक्लिप्स पीडीटी (हेलीओस सर्विस रिलीज 1 बिल्ड आईडी: 20100917-0705) स्थापित किया है, और मुझे लगता है कि मैंने पोर्ट 9000 का उपयोग कर XDEBUG रिमोट डीबगिंग करने के लिए इसे सही तरीके से कॉन्फ़िगर किया है। मैं कहता हूं कि सोचें, क्योंकि मुझे यह पता लगाने में कठिनाई हुई है कि इसे कैसे किया जाए, और आम तौर पर एक्लिप्स पीडीटी का उपयोग कैसे करें। लेकिन मैंने पोर्ट 9000 का उपयोग करते हुए स्थानीयहोस्ट (127.0.0.1) पर विंडोज 1.7.3 के लिए एक्सएएमपीपी का उपयोग करके किए गए वेब पृष्ठों द्वारा संचालित PHP कोड के "रिमोट" डीबगिंग के लिए कॉन्फ़िगर किया और काम किया। सर्वर के लिए phpinfo() आउटपुट लैपटॉप जो पीडीटी डिबग करने में सक्षम है पर, ऊपर के रूप में ही है के लिए छोड़कर:
xdebug.idekey my_username no value
xdebug.remote_host localhost localhost
xdebug.remote_log no value no value
मैं यकीन है कि इन मतभेदों को समस्या से संबंधित नहीं हैं हूँ। वास्तव में, xdebug.idekey मूल रूप से लिनक्स पर "रूट नोल्यू" था, जिसे मैं फिर php.ini संपादित करके ईसीएलआईपीएसईबीबीजीपी में बदल गया और सुडो-एडी स्क्रिप्ट में पर्यावरण परिवर्तनीय डीबीजीपी_आईडीकेई को स्थापित करता हूं जो चीजों को काम करने की व्यर्थ आशा में अपाचे शुरू करता है।
मुझे लैपटॉप और लिनक्स बॉक्स के बीच फ़ायरवॉल और एनएटी राउटर मिला है। तो मैं लिनक्स XDEBUG विंडोज पीडीटी से बात करने के लिए एक पुटी एसएस सुरंग के माध्यम से बंदरगाह अग्रेषण का उपयोग करने की कोशिश कर रहा हूं। मैं कुछ महीनों के लिए PUTTY के साथ X11 अग्रेषण का उपयोग कर रहा हूं, बिना किसी समस्या के। मैं स्थानीय बंदरगाह 9000 लिनक्स बॉक्स पर बंदरगाह 9000 को अग्रेषित साथ पुट्टी में सुरंग, और लिनक्स बॉक्स 127.0.0.1 पर बंदरगाह 9000 को अग्रेषित पर बंदरगाह 9000 की स्थापना की, पुट्टी सुरंग पैनल दिखा:
L9000 host...amazonaws.com:9000
R9000 127.0.0.1:9000
खोज रहे हैं
2010-11-16 18:07:59 Local port 9000 forwarding to host...amazonaws.com:9000
2010-11-16 18:07:59 Requesting remote port 9000 forward to 127.0.0.1:9000
2010-11-16 18:07:59 Remote port forwarding from 9000 enabled
लेकिन तब जब मैं पीडीटी के पास जाकर एक विन्यास कि दूरदराज के वेब सर्वर को निर्दिष्ट करता है पर डीबग पर क्लिक करें, पीडीटी पृष्ठभूमि गतिविधि से पता चलता है: जब सुरंग की स्थापना की है पुट्टी ईवेंट लॉग में, वहाँ कोई समस्या नहीं दिखाई देते हैं निचले दाएं कोने में जो 57% पर फंस जाता है, और यदि मैं प्रगति दृश्य पर जाने के लिए आइकन पर क्लिक करता हूं, तो यह दिखाता है कि "लॉन्चिंग: XDebug सत्र की प्रतीक्षा"।
जब ऐसा होता है, पुट्टी ईवेंट लॉग दिखाता है:
2010-11-16 19:05:42 Received remote port 9000 open request from 127.0.0.1:54474
2010-11-16 19:05:42 Attempting to forward remote port to 127.0.0.1:9000
2010-11-16 19:05:42 Forwarded port opened successfully
2010-11-16 19:05:42 Opening forwarded connection to host...amazonaws.com:9000
2010-11-16 19:05:42 Forwarded connection refused by server: Connect failed [Connection refused]
2010-11-16 19:05:42 Forwarded port closed
लिनक्स बॉक्स पर,/var/log/सुरक्षित बस पता चलता है:
Nov 16 19:01:51 ip-10-194-9-67 sshd[14555]: error: connect_to host...amazonaws.com port 9000: failed.
मैं देख लिया है मेरी/etc/ssh/sshd_config, और मुझे लगता है कि यह ठीक है, इसे स्पष्ट रूप से "AllowTcpForwarding yes" में भी बदल रहा है, भले ही इसे डिफ़ॉल्ट माना जाता है।
इस इसे ठीक लग रहा था: होस्ट नाम हमेशा domain- किया गया है एक समाधान के लिए अपने वेब खोज में, मैं एक linuxquestions posting जहां अंतिम जबाब कुछ नहीं बल्कि गुप्त sshd के बारे में होस्टनाम का समाधान करने की आवश्यकता होगी, कहते हैं भर में आया था सर्व, क्योंकि मैं हमेशा डोमेन राउटर के रूप में अपने राउटर के बारे में सोचा था ... तो
hostname domain.com
चलाने के बाद ... बम! यह अंत में काम करता है ...मुझे लगता है कि कभी-कभी यह बहुत आसान होता है। एसएसडीडी को डोमेन का समाधान करना पड़ा।कॉम मेरे राउटर में, कनेक्शन विफल हो गया।
मुझे लगता है कि यह मेरी समस्या से संबंधित हो सकता है, लेकिन यह मुझे कोई समझ नहीं आता है, और चूंकि यह बहुत पुराना है, और लेखक इसे समझ में नहीं आया, या तो, मैंने सोचा कि मैं यहां पूछूंगा इसके बजाए ...
मैंने नोटिस किया कि लगभग एक साल पहले इस मंच में similar question से पूछा गया था कि केवल एक 0-मूल्य प्रतिक्रिया मिली है, संभवतया सवाल यह है कि प्रश्न में अनावश्यक होने के कारण विस्तार से कमी आई थी। मुझे आशा है कि इस के पास पर्याप्त जानकारी है, और इतना लंबा नहीं है, ताकि कोई मुझे सही कर सके। Faqs और प्रश्न पूछने के बाद, यह मेरे लिए पूरी तरह से स्पष्ट नहीं था कि मंच का सही उपयोग उस मूल खराब पूछे जाने वाले लेकिन सामग्री-समान प्रश्न के तहत कुछ पोस्ट करना था, या इस नए को पोस्ट करने के लिए - I मुझे यकीन है कि कोई मुझे बताएगा कि उस पर सही विकल्प क्या था :-)
मैं इस चीज़ के साथ पागल हो रहा हूं, और मुझे संदेह है कि यह किसी अनुभव के साथ कुछ स्पष्ट है। मैं इस सामान (PHP, वेब प्रोग्रामिंग, नेटवर्क व्यवस्थापक, और इस मंच) में से अधिकांश के लिए एक नोब हूं, हालांकि पुरानी शैली के सी प्रोग्रामिंग और उपयोगकर्ता स्तर के लिनक्स और विंडोज सेटअप के लिए नहीं।
नींद के बाद, मुझे लगता है कि मैं देख सकता हूं कि लैपटॉप की तरफ एक समस्या थी, जिसमें स्थानीय फॉरवर्ड ने एसएस को बंदरगाह 9000 पर कनेक्शन सुनने के लिए प्रेरित किया। तो जब पीडीटी ने डीबग कॉन्फ़िगरेशन लॉन्च किया और पोर्ट 9000 पर एक्सडीईबीयूजी के लिए सुनना शुरू किया, जिसने उसी पोर्ट पर दो श्रोताओं को बनाया, जो एक त्रुटि है। अगर ऐसा हो रहा है, तो मुझे केवल यह समझने में समस्या है कि डायग्नोस्टिक्स कैसे दर्शाता है: दोनों पुटी और एसएसडीडी लॉग रिमोट एंड पर एक समस्या का संकेत देते हैं। पीडीटी ने शिकायत क्यों नहीं की जब उसने 9000 पर सुनने की कोशिश की, जबकि एसएसएच पहले से ही इस पर सुन रहा था? – sootsnoot
बस एक ही मुद्दे से पकड़ा गया - यह याद रखना महत्वपूर्ण है कि आपका आईडीई "सर्वर" के रूप में कार्य कर रहा है, जिसमें यह पोर्ट 9 000 पर PHP Xdebug प्रक्रिया से कनेक्शन की प्रतीक्षा कर रहा है। इस प्रकार आप एक सुरंग जो दूरस्थ सर्वर के बंदरगाह को आगे बढ़ाती है 9 000 आपकी स्थानीय मशीनों के पोर्ट 9000 में जहां आपका आईडीई सुन रहा है। मैक पर, यह ssh -R 9000 है: 127.0.0.1: 9000 [email protected] –
और यह एक एसएस कमांड कहां टाइप करेगा? क्या यह कहीं नेटबीन्स सेटिंग्स में जाता है? – user658182