Jak debugować PHP za pomocą netbeans i Xdebug

Ostatnio próbowałem zacząć korzystać z Netbeans 6.5 po tym, jak tak wysoko oceniono go w recenzji IDE przez Smashing magazine. http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/

Moim głównym powodem przełączania się z Notepad++ jest to, że chciałbym być w stanie debugować mój kod i ustawić go.

Postępowałem zgodnie z instrukcjami jak zainstalować xdebug zarówno od sprzedawcy http://xdebug.org / i strony netbeans. http://www.netbeans.org/kb/docs/php/debugging.html#gettingReady ale bez skutku.

Jak to jest zrobione, czy ktoś jeszcze ma debugowanie działające w netbeans?

(moja konfiguracja to: Windows XP, Wamp server 2.0, PHP 5, Netbeans 6.5.1)

Author: Jon Winstanley, 2009-03-28

16 answers

Ważne jest, aby dodać tę linię w php.ini:

xdebug.idekey="netbeans-xdebug"

Uwaga: w NetBeans przejdź do Ustawienia i sprawdź, gdzie jest skonfigurowany plik Xdebug. Poszukaj identyfikatora sesji. W moim przypadku był to netbeans-xdebug.

 11
Author: openfrog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-22 16:06:41

Hm, dla mnie netbeans był pierwszym ide, które debugowanie php działało po wyjęciu z pudełka.

Czy xdebug pokazuje się w phpinfo? jeśli tak, to powinno działać z ustawieniami domyślnymi. jedyne co jest potrzebne to:

xdebug.remote_enable=on

Więc jeśli to nie jest włączone, umieść je w swoim php.plik ini, uruchom ponownie apache i debugowanie powinno działać.

Jeśli nie, będziesz musiał podać więcej informacji, aby ci pomóc.

Sy

 6
Author: deresh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-30 12:26:04

Od tego czasu odkryłem, że WAMP, po zainstalowaniu z Mod_rewrite i cURL nie radzi sobie z Xdebug.

Jest to znany błąd i zawiesza się za każdym razem.

Http://phphints.wordpress.com/2008/10/24/wampserver-phpini-settings-for-use-with-xdebugdll-pear-and-silverstripe-cms-framework/

Niestety, ja też korzystam z tych 2 bibliotek.

 5
Author: Jon Winstanley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-30 20:32:26

To nie jest problem, który xdebug daje problemy z curl lub mod_rewrite. Jedyne problemy, o których Wiem, to z Xdebug NA Vista.

 3
Author: Derick Rethans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-14 09:15:36

Możesz zobaczyć tutaj: http://ruilima.com/2010/11/ambiente_de_desenvolvimento_php_netbeans_xdebug/ jest w języku portugalskim, ale istnieje wstępnie skonfigurowana maszyna wirtualna z Ubuntu 10.10, netbeans, php, mysql, xdebug, gotowy do użycia. spójrz

 2
Author: Rui,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-30 19:21:13

Dowiedziałem się, że w Netbeans trzeba ustawić ścieżkę webroot w projektach na app/webroot. Jeśli to zrobisz debugowanie działa bezbłędnie.

 1
Author: RaScoop,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-06 15:12:07

Jeśli używasz xampp pod Windows:

Wystarczy otworzyć php.ini plik i zmiana tych dwóch linii

;xdebug.profiler_enable = 0
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

Do

xdebug.profiler_enable = 1
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

(Uwaga: Jeśli Twoja wersja xampp jest stara, musisz ją pobrać z http://xdebug.org/download.php , pobierz 32-bitowy nawet Twój system operacyjny jest 64-bitowy. Np. nazwa pobranego xdebuga to php_xdebug-2.2.1-5.4-vc9.dll . Pierwsza kopia php_xdebug-2.2.1-5.4-vc9.dll do katalogu C:\xampp\php\ext\, wtedy twoje druga linia będzie zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll)

Potem zatrzymaj apache i zacznij od nowa, to wszystko.

 1
Author: macio.Jun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-26 14:04:57

Jeśli masz problem, w którym Apache decyduje się zawiesić za każdym razem, gdy uruchamiasz debugger (co miałem i jest bardzo denerwujące). Jestem całkiem pewien, że ponownie zainstalowałem xampp i ponownie skonfigurowałem xdebug. Myślę, że problem miał związek z konfiguracją Zend-debuggera w php.ini i ja nie modyfikując poprawnego php.ini.

W końcu po ponownej instalacji i zresetowaniu działa dobrze.

Uruchamiam teraz dev release Netbeans, który ma debugowanie sieciowe z xdebug więc uruchamiamy to wszystko z naszego serwera programistycznego i działa smakowicie.

Powodzenia, nie ma szczególnie przyzwoitej dokumentacji jak skonfigurować xdebug z net beans.

 0
Author: Joel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-14 09:29:15

Od czasu do czasu miałem problemy z NetBeans i XDebug, które sprowadzały się do instrukcji Watch, która nie odnosi się do debugowanego kodu.

W tym przypadku debugger po prostu nie działa z wyjątkiem gniazda.

Usuń wszystkie zegarki, jeśli stwierdzisz, że to powoduje twój problem. Ogólnie jednak uważam XDebug za niezwykle poręczny!

Zdaję sobie jednak sprawę, że może to nie odnosić się do kwestii, którą tu macie, ale warto być tego świadomym.

 0
Author: Ian Lewis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-06 09:09:02

Znaleziono rozwiązanie tego samego problemu na tej samej stronie PHP Netbeans: xdebug zatrzymuje się na każdym include () lub require()

 0
Author: user473445,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:29:38

Cóż było, zapominając

[xdebug]

Jako nagłówek sekcji w php-ini. I oczywiście "zaparkuj" swoje rzeczy tuż przed rozpoczęciem innej sekcji (np. [Date] lub [iconv]), w przeciwnym razie przypadkowo umieścisz je w niewłaściwej sekcji. (W komentarzu djungle z php.ini dzieje się to łatwo.)

 0
Author: Frank Nocke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-07 10:12:29

W moim przypadku był to proces działający na moim komputerze (Windows 7), który korzystał z portu 9000 o nazwie aeagent.exe

Zmieniłem php.ustawienie ini na " xdebug.remote_port= 9001", dokonał odpowiedniej zmiany w netbeans, a następnie zrestartował Apache. Teraz działa.

Dzięki narzędziu SysInternals TCPView.

 0
Author: Josh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-06 03:14:06

Idź do http://wiki.netbeans.org/HowToConfigureXDebug . Istnieje duża lista kroków, które powinieneś wykonać, które mogą Ci pomóc.

Ale najprawdopodobniej potrzebujesz tylko nowej wersji Xdebug-binary. Przejdź do http://xdebug.org/wizard.php aby dowiedzieć się, jakie binary potrzebujesz i twój problem może zostać rozwiązany.

 0
Author: Pascal Klein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-16 21:14:09

Uruchamiając netbeans pod Ubuntu, również miałem do czynienia z tym problemem, wydaje się, że próbowałem wszystkich rozwiązań znalezionych w Internecie, ale wszystko na próżno.

Jedyną rzeczą, która w końcu pomogła, było uruchomienie netbeans z Komendą SUDO! Wygląda na to, że zwykły użytkownik nie miał uprawnień do nasłuchu na porcie 9000 (lub jakimkolwiek innym).

sudo netbeans &

...i voila, mogę debugować ponownie! Może to zaoszczędzi ci dzień lub dwa

 0
Author: Aleksander Belov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-25 10:16:21

Teraz działa po zmarnowaniu 3 godzin na zrobienie xdebuga na Windows8 z wamp 2.2 zastąpienie oryginalnych linii poniżej [xdebug] następującymi

    zend_extension = "c:/wamp/bin/php/php5.3.13/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll"
    ;make sure path of your own php_xdebug, dll version may vary.

    [xdebug]

    xdebug.remote_enable = on
    xdebug.remote_handler=dbgp
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
;recheck your port number in netbeans [Tools=>options=>php=>debugging there it is: debugging port]
    xdebug.profiler_enable = on
    xdebug.profiler_enable_trigger = on
    xdebug.profiler_output_name = cachegrind.out.%t.%p
    xdebug.profiler_output_dir = "c:/wamp/tmp"

Teraz kliknij ikonę wamp na pasku zadań i"uruchom ponownie wszystkie usługi"

Cóż..Teraz ostatni krok> > Uruchom NETBEANS jako ADMINISTRATOR Holly soul of windows8 I hate you:
 0
Author: Danish Kayani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-20 02:07:44

Przejdź do poniższego dokumentu w celu zdalnego debugowania za pomocą NetBeans. http://stuporglue.org/setting-up-xdebug-with-netbeans-on-windows-with-a-remote-apache-server/

 0
Author: Krishna Chaitanya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-27 16:25:15