port 9000 ile xdebug uzaktan hata ayıklama ssh tünel aracılığıyla iletilir - bu işe nasıl?

0 Cevap php

Ben bir "Amazon Linux" Amazon EC2 bulut (Centos türetilmiş) 32-bit örneği üzerinde XAMPP 1.7.3a çalıştırıyorum. I / inşa / yüklü xdebug 2.1.0 indirilebilir. Phpinfo içinde ilgili öğeler (bu gibi) çıkış bakmak:

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

Ben PuTTY sürümü 0.60 olarak SSH istemcisi kullanıyorsanız, XP SP3 çalıştıran bir Windows dizüstü Linux kutusuna erişebilirsiniz. Ayrıca dizüstü Eclipse PDT (Helios Service Release 1 Build id: 20100917-0705) yükledim., Ve ben bunu noktası 9000 kullanan xdebug uzaktan hata ayıklama yapmak doğru yapılandırılmamış var düşünüyorum diyorum ben {[(0) }], ben zorluk bunu nasıl bulmaktan ve nasıl genel olarak Eclipse PDT kullanmak zorunda kaldım çünkü. Ama yapılandırılmış ve web sayfaları tarafından işletilen PHP kodu "uzak" hata ayıklama için çalışma noktası 9000 kullanarak localhost (127.0.0.1) Windows on 1.7.3 XAMPP kullanarak hizmet almak için yönetmek. Sunucusunun phpinfo () çıkış PDT debug is mümkün hariç, yukarıdaki gibi aynı dizüstü:

xdebug.idekey       my_username     no value
xdebug.remote_host  localhost       localhost
xdebug.remote_log   no value        no value

Ben bu farklılıklar sorunu ile ilgili değil eminim. Aslında, xdebug.idekey aslında ben o düzenleme php.ini ve çalışma şeyleri alma boşuna umuduyla, apache başlar sudo-ed script ortam değişkeni DBGP_IDEKEY ayarlayarak hem de ECLIPSE_DBGP değiştirildi Linux üzerinde "root novalue" oldu.

Ben güvenlik duvarları ve laptop ve Linux kutusu arasında bir NAT router var. Yani Linux xdebug, Windows PDT konuşurken almak için bir PuTTY ssh tünelden port yönlendirme kullanmaya çalışıyorum. Ben hiç bir sorun ile birkaç ay için PuTTY X11 yönlendirmesi kullanarak oldum. Ben yerel Linux'unuzda port 9000 iletilir port 9000 ve 127.0.0.1, PuTTY tünel paneli üzerinde gösteren port 9000 iletilir Linux'unuzda port 9000 ile PuTTY yılında tünel kurmak:

L9000  host...amazonaws.com:9000
R9000  127.0.0.1:9000

Tünel kurmak PuTTY olay günlüğüne baktığımızda, herhangi bir sorun olduğu görülmektedir:

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

Ben PDT gidin ve uzak web sunucusu belirten bir yapılandırmasına Debug tıkladığınızda Ama sonra, PDT% 57 düzeyinde takılıyor sağ alt köşesindeki Arka plan aktivite gösterir, ve ben, görünüm İlerleme gitmek için simgesini tıklatın eğer gösterileri "başlatma: XDebug oturum için bekliyor".

Bu durumda, PuTTY Olay Günlüğü gösterir:

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

Linux kutusunda, / Güvenli var / log / sadece gösterir:

Nov 16 19:01:51 ip-10-194-9-67 sshd[14555]: error: connect_to host...amazonaws.com port 9000: failed.

Ben benim / etc / ssh / sshd_config kontrol ettik ve bu varsayılan olması gerekiyordu olsa ben bile "evet AllowTcpForwarding" açıkça değiştirmeyi, tamam düşünüyorum. Bir çözüm için benim web aramalarında, ben bir linuxquestions posting rastlamak nerede nihai cevap bir hostname çözmek gerek sshd hakkında oldukça şifreli bir şeyler söylüyor ki:

this seemed to fix it: The hostname has always been domain-serv, since I always thought of my router as being domain.com...so after running hostname domain.com...bam! It finally works...

I guess sometimes it is too simple. sshd had to be resolving domain.com to my router, ergo the connection failed.

Bu benim sorunum ile ilgili olabilir gibi geliyor, ama bana hiç mantıklı ve oldukça eski ve ya yazar, bunu anlamak için değildi çünkü, ben burada değil orada daha sormak düşündüm ...

Ben bir similar question çözümsüz olması için soru çok ayrıntılı olarak eksik muhtemelen çünkü sadece bir 0-değer yanıtını var ki neredeyse bir yıl önce bu forumda istendi fark etmedi. Biri bana doğru yönlendirmek böylece ben, bu bir yeterli bilgi var, ve bu kadar uzun değildir umarım. SSS okuma ve nasıl bir soru sormak için sonra bu forumun doğru kullanımı altında bir şey göndermek için olup olmadığını bana tamamen açık değildi orijinal kötü-istedi ama içerik aynı soru, ya da bu yeni bir tane göndermek için - I 'Birisi bana o :-) üzerine doğru seçim ne bildireceğiz eminim

Ben bu şeyle fındık devam ettik, ve ben o deneyimi olan birisi için oldukça belirgin bir şey şüpheli. Ben bu şeyleri (PHP, web programlama, ağ yönetici, ve bu forum) çoğu bir çaylak değilim, ama değil eski moda C programlama ve kullanıcı düzeyinde Linux ve Windows kurulum için.

0 Cevap