Xdebug Windows 7 üzerinde çalışmak için alınamıyor

6 Cevap php

PHP 5.3.0 içeren son XAMPP paketinin yüklü. Ben Xdebug etkinleştirmek için çalışıyorum, ama sadece işe yaramaz.

İşte XAMPP ile birlikte php.ini değişti ne:

; uncommented
zend_extension = "X:\xampp\php\ext\php_xdebug.dll"

; added the following lines:
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

Apache ince başlar, ama benim tarayıcıda http://localhost/ açtığınızda, ben aşağıdaki hatayı alıyorum

alt text

Ben Close the program butonuna tıklarsanız bu sonsuz bir döngü içinde sanki, hata mesajı, ikinci bir yeniden görünecektir. Ben büyük ölçüde bu işe almakla any yardım takdir ediyorum.

Ben, yeni bir Windows 7 yüklemek Ultimate 64-bit kullanıyorum.

EDIT: From the result of phpinfo():

Zend Extension Build    API220090626,TS,VC6 
PHP Extension Build     API20090626,TS,VC6 
Debug Build             no 
Thread Safety           enabled

6 Cevap

Bu Xdebug yanlış sürümü olması mümkündür. I phpinfo() bir göz atın ve different versions of the Xdebug dll orada bilgileri karşılaştırmak istiyorsunuz.

Özellikle, "Konu Güvenliği" etkin olup olmadığını görmek istiyorum, ve size (Apache kullanıyorsanız eğer, bu neredeyse VC6 istediğiniz garantili) bir VC6-derlenmiş PHP veya bir VC9 çalıştırıyorsanız olmadığını bilmeniz gerekir.

frank-ly, I also had 2 REALLY bad days, and I don't now what finally fixed it, so here's my collection of Do's and pitfalls:

; this is the thread safe version,
; the absence of _nts_ in the dll name 'shows' this
; do not use _ts, your library won't get registered and won't show in phpInfo()
zend_extension = "D:/wamp/bin/php/php5.3.8/zend_ext/php_xdebug-2.1.2-5.3-vc9-x86_64.dll"

tüm değerleri (gelmesi) ise) (phpinfo kontrol edin php.ini kontrol

xdebug.remote_enable = on
xdebug.remote_handler=dbgp
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
; if you have multiple virtual hosts ( like 'local.fooclient' )
; maybe using the IP is safer (for any same-machine-debugging)
xdebug.remote_host=127.0.0.1
; maybe a -much- lower port helped, 84 was free. use netstat to figure out.
xdebug.remote_port=84
; idekey! also see note below
xdebug.idekey=netbeans-xdebug

More Pitfalls:

Ben web üzerinde (r olmadan) xdebug.remote_handle bir yazım hatası birkaç kez gördük. sakının.

A note on the idekey: The above idekey did show in phpinfo() as master value, BUT was overridden with a 'local value' like MYMACHINENAME$. ==> Setting a global env var (in computer properties) named DBGP_IDEKEY and rebooting (or maybe just logging out) to (also) netbeans-xdebug helps! Again: re-check in phpInfo() it took effect.

Tabii netbeans-menüsünü ayarlamak: seçenekler-> php sekmesi-> bu liman ve oturum id hata ayıklama bölüm.

Here bir script niyetinde port açık konuşmak ise (php ile) kontrol etmek, olduğunu. (Ayrıca yorumlarda da aşağıda, görüntüden tembel tipi olanlar için)

Tarayıcınız bağlamak için, her zaman hata ayıklama-başlangıç ​​olsun-argüman eklemek için (hayal kırıklığı ortasında) unutmaya başlar değilsiniz:

  http://localhost/myTest.php?XDEBUG_SESSION_START=netbeans-xdebug

port frontier üzerinde daha da this tool yardımcı olabilir.

Quadruplecheck Eğer VC6 tutuyor ve VC9 dışında her şeyi sürümlerini derlenmiş.

(Yukarıdaki ayarlar yapıldıktan sonra) komut satırından whatever/path/php.exe myTest.php Running da (ben yanlış bir dll ile müdahalesi oldu ederken, yaptım) ek hataları ortaya çıkarabilir.

I can recommend http://www.wampserver.com (for personal reasons it fits me better than the popular xampp package...)

Eğer Xdebug bir özel kurulum sihirbazını denedim, bu php kurulum analiz eder ve size izlemeniz gereken kesin adımlar sağlar

Uzatma o zaman en güncel PHP sürüm karşı inşa edilmiş olmasına rağmen, Windows ikili genellikle, söz konusu PHP sürümü için her Mini sürümü için çalışır. Vcx işaretleyici uzantısı inşa edilmiş derleyici ve ZTS devre dışı olup olmadığı Non-evreli hangi söyler. Bu elemeleri Kullandığınız PHP sürümünü eşleşmesi gerekir. Size ihtiyacınız olan tek bilmiyorsanız, özel yükleme talimatlarına başvurun.

http://xdebug.org/wizard.php

Sadece metin kutusuna koymak senin phpinfo dışarı yapıştırın ve size php için ihtiyacınız olan tam xdebug dll alacak

Evet, bilinen bir sorun var - neredeyse imkansız Xdebug son Xampp ve 64-bit Vista / Win 7 ile çalışan almak için.

Bir bug birçok kullanıcı bu konuda şikayet bildirilmiştir vardır.

Çözüm gibi görünüyor latest beta version on Xampp. Bu xdebug sürümü 2.0.6 (dev) içerir ve gayet güzel çalışıyor.

Ben yaklaşık 10 gün boyunca 64-bit Vista üzerinde test edilmiş ve henüz herhangi bir sorun ile karşılaşmadım.

(: \ Program Files (x86) \ PHP 32bit, TS, VC6, C) ve Windows 7 (64bit), in php.ini üzerine Apache (32bit) xdebug sadece PHP ile XAMPP ile yüklendiğinde Eğer x86 Program Files klasörüne sevmeye tam yolunu belirtmeniz gerekir.

zend_extension="C:\Program Files (x86)\PHP\ext\php_xdebug-2.1.1-5.3-vc6.dll"

ve NOT

zend_extension="C:\Program Files\PHP\ext\php_xdebug-2.1.1-5.3-vc6.dll"

Bu benim hatam, x86 klasörüne değişti, xdebug mükemmel çalışmaya başladı oldu. Da, bu yardım umuyoruz.

Diğerleri gibi söylediler, sizin php sürümü ile xdebug sürüm eşleşmesi gerekir.

Zaten PHP sürüm numarasını, iplik güvenlik ve derleyici eşleşti ettik.

Eğer en parçacığı güvenli bir modül yüklenirken iseniz zaten (bu eski bir konu olduğunu) bunu anladım yoksa, what you're missing is the INI configuration., aşağıdaki satırı kullanmanız gerekir:

zend_extension="C:\Path\To\The\Extension.dll"

Modülü not parçacığı güvenli ise, o zaman kullanmaya çalışıyor ettik INI yönergesini kullanın.

Bu sadece zend_extension en değil, düzenli uzantıları için geçerlidir.