Tutulma xdebug oturumu tamamlar asla

18 Cevap php

Ben Tutulma (3.5) ile çalışan xdebug almaya çalışıyorum / php (xampp windows 7). Ben xdebug php etkin doğruladıktan - Ben fantezi çıkışı var ve benim Phpinfo tüm xdebug şeyler gösterir. Ben uzaktan hata ayıklama var, ve benim tutulma makinede lan ip adresi yazdınız.

Ben debug eclipse söyledikleri zaman, bu tarayıcı başlattı ve hata ayıklama URL parametreleri geçirir. Bu Tamam görünüyor.

Ancak, eclipse hata ayıklama perspektif içinde o xdebug oturum için bekliyor 'başlatıyor Projem'% 57 gösteriyor. Sonsuza kadar orada oturuyor.

Ben her iki makinada windows güvenlik duvarı kapalı.

Ben örtülü floş dönüm çalıştı.

Herhangi bir fikir?

18 Cevap

Ben bu çizgiyi eksikti ... de bu sorun vardı:

xdebug.remote_enable = On

php.ini dosyasında.

Php.ini içinde ABSOLUTE yolu ile zend_extention tanımlanan emin olun:

örneğin: zend_extension=D:\SANDBOX\server\php\php_xdebug-2.1.0-5.3-vc6.dll

Windows üzerinde yerel proje hata ayıklama. Şimdiye kadar xdebug.remote_enable = On gerek yoktu

XDebug oturum (% 57 de kilitleniyor) başlamazsa, emin olun Öneriler:

  • zend_extention yönergesi mutlak yolu ile ayarlanır ve hata ayıklama yüklenir, kullanım phpinfo ()
  • güvenlik duvarı varsayılan 9000 portu veya Eclipse engellemez.
  • diğer uygulama (yürütme: netstat-an | find / i komut satırından "dinleme") bağlantı noktasını kullanarak değil

If you need to setup different port use in php.ini: xdebug.remote_enable = on xdebug.remote_port = XXXX

Eclipse ve doğru xdebug ayarları:

Eclipse"> XDEBUG ayarları</p></div>
								</div>
								<div class=

Ben aynı sorunu vardı ve ben (şimdi port 9001 kullanarak) xdebug için bağlantı noktasını değiştirerek düzelttim.

İşte benim php.ini içeriği:

zend_extension ="C:\...\EasyPHP-5.3.3\php\ext\php_xdebug-2.dll"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.remote_mode=req
xdebug.remote_autostart=0

Ayrıca apache günlük dosyasını kontrol edin ve aşağıdaki uyarı mesajı yok emin olun:

PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0

Bunu yaparsanız, php.ini dosyasını açın ve bir comment ';' extension=php_xdebug-2.dll satır:

;extension=php_xmlrpc.dll
extension=php_xsl.dll
**;extension=php_xdebug-2.dll**
;/PHPExt

Ben TCP bağlantı noktası kullanımda olduğunu ve o asılı neden nedeni olduğunu fark etti. Php.ini ve Tutulma ayarlarında port değişti.

Bu bağlantıyı kontrol edin:

http://xdebug.org/docs/remote

Orada Chrome ve Firefox için yeni eklentileri hakkında bir oturum ve onlar iyi çalışır.

3 saat boyunca mücadele ve forumlarda her çözümü denedikten sonra, ben path of the Xdebug dll [(2)] {in zend_extension belirterek iken basit hile tırnak kaldırmak olduğunu öğrendim }. Windows Vista üzerinde XAMPP (PHP 5.3.6 + Apache 2.2) + Eclipse Indigo + FDT + Xdebug 2.1.2 kullanıyorum.

İşte benim için çalıştı tam yapılandırma -

zend_extension=C:\xampp\php\ext\php_xdebug-2.1.2-5.3-vc6.dll
#Note that the path above is not in quotes
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir=C:\xampp\tmp

Başka bir program tarafından zaten kullanılıyor durumda 9000 ile çatışma değil ki ben noktasını 9001 kullandım. Bu Eclipse noktasını eşleşen emin olun> Tercihler> PHP> Ayıkla> Xdebug de. Ayrıca, php.ini sonra apache yeniden başlatın.

Ben php.ini bu eklendikten sonra, her şey dondurma gibi çalıştı.

Ben Zend Studio ile aynı problem vardı. Ben xdebug oturum düzgün başlangıç ​​değildi fark etmiş. Bir keresinde url bu dize geçti ve o zamandan bu yana çalıştı.

http://localhost/myalias/?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=13750956767461

Ben bir yerde IDE yapılandırma meselesi eminim.

Evet, ağ / bağlantı noktası istatistikleri kontrol. Benim durumumda ben mac üzerinde vmware fusion kullanıyorum ve süreç vmware-Natd ben fark etmedi, (I varsayarak açık bir port engelleme) cpu hogging edildi. php.ini, tamamen ince tekrar işe almak için bu çalıştırmak zorunda:

sudo "/Library/Application Support/VMware Fusion/boot.sh" --restart

Yani PPL php.ini kontrol edin (ya da xdebug.ini) ilk dosya. Tamam ala görünüyorsa this discussion, o zaman ağ sorunları yaşıyorsanız değil kontrol edin.

Ben artık bu ya da değil senin için bilmiyorum! Ama, doğru ayıklama parametre, XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=12882809194391 gibi bir şey ile bir PHP file (anything.php) isabet etmedi.

People often make mistakes to hit a HTML file with the debug parameters which causes Eclipse to hang at xdebug session

Ben benzer bir sorun vardı ve ben yanlış dll kullanan çıktı. Bu gelecekte birisi yardımcı olur umarım.

Benim için, bu belirtilerin Windows Güvenlik Duvarı (Win7 Pro) neden edilmiştir. Ben açıkça Tutulma duvarını geçmesine izin gerekiyordu. Ben "Windows Güvenlik Duvarı \ İzin Programlar \ Control Panel \ Tüm Denetim Masası Öğeleri" de iletişim üzerinden yaptım.

Bu herkes için yararlı olabilir, ancak uzaktaki bilgisayar hata ayıklamak için çalışırken ..., her zaman DSL yönlendirici hatırlamıyor olabilir! Ben yapmak zorunda benim Linksys port yönlendirme (port 9000) etkinleştirmek için olduğunu fark ettim ve her şey bir cazibe gibi çalıştı (ya da yol boyunca herhangi bir yönlendirici) Ben, bir çözüm bulmaya saat geçirdim :)

Bu konu beni Eclipse ile OSX üzerinde MAMP ile benim sorunu çözmek yardımcı oldu. 1.x sürümden MAMP 2.1.1 yükselttikten sonra, ben Tutulma çalışmak XDebug almak mümkün değildi. Bu% 57 seviyesinde asılı idi.

phpinfo xdebug uzatma cezası yükleme olduğunu gösterdi ve PHP veya Apache günlüklerinde hiçbir hataları vardı.

Ben sadece yerel ayıklamak istedim ama sorun için nedeni uzaktan hata ayıklama etkin değil idi. Xdebug.remote_enable ekleme = MAMP php.ini şablon ve yeniden başlatmadan MAMP gerçek sorunu çözüldü.

Eclipse'in web tarayıcısı ayarlarının doğru olup olmadığını kontrol edin.

Pencere / Tercihler / Genel / Web Browser / harici Web Tarayıcıları / ayarlarını düzenle

In my case, the path to the external web browser binary was incorrect. It said "/usr/bin/mozilla" instead of "/usr/bin/firefox". Don't know how this setting came about, but after changing it the firefox browser window came up at last.

Benim durumumda CLI uygulama düzgün çalışıyor, ama o% 57 sıkışmış başlamıştı web uygulaması oldu.

Bu 2 değişikliklerden sonra çalıştı:

  1. Xdebug olarak yapılan sunucu debugger
  2. Otomatik URL gerçek oluşturun.

If Netweaver/Eclipse fails to connect to XDebug, you may wish to check the Apache logs for occurrences of something like: Cannot load Xdebug - it was built with configuration API220090626,TS,VC6, whereas running engine is API220090626,TS,VC9 [Fri Jun 01 18:38:05 2012] [notice] Child 3404: Child process is running

Bu sorunu çözmek için, XDebug sitesinden XDebug ikili doğru sürümünü almak (Eğer çalışma almak kadar birkaç kombinasyonlar deneyin)

Hatta bütün bu adımları yaptıktan sonra aşağıdaki bağlantıyı vurgulanır .. set xdebug.remote_connect_back = 0 PHP debug configuration hangs - Waiting for XDebug session (57%) ile mücadele sorunlardan biri

Here is another blog which mentions how to verify if Xdebug is properly installed or not via the command line http://allcodeverything.blogspot.com/2012/07/code-debugging-with-xdebug-and-eclipse.html

It mentions this If you want to figure out if everything worked well, here is a nice piece of code that you'll run through the CLI (command-line interpreter, basically outside of Apache or a browser; just pure PHP) after you have typed the following in your browser: "http://localhost/dbgtest.php?XDEBUG_SESSION_START=ceable"

<?php
$address = "localhost";
$xdebug_port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $xdebug_port) or die('Unable to bind');
socket_listen($sock);
$debug_client = socket_accept($sock);
echo "connection established: $debug_client";
socket_close($debug_client);
socket_close($sock);
?>

Komut satırı penceresi ": Resource id # 5 bağlantı kuruldu" gibi bir şeyler yazdırmak gerekir.