Xdebug jest bardzo pomocnym narzędziem. Służy do profilowania i debugowania aplikacji napisanych w PHP.
Gdy mamy Linuksa instalacja ogranicza się prawie do wydania komendy pecl install xdebug. Dla Windows istnieją gotowe binarki na stronie Xdebug, gdzie po ściągnięciu wystarczy dopisać jedną linię kodu do php.ini.
Niestety sprawa Xdebug z Zend Server nie jest już tak łatwa, ponieważ Zend Server posiada własne rozszerzenia (zend_extension). Oczywiście da się pogodzić te dwa twory, ale wymaga wykonania kilku operacji. Mój ZendServer jest zainstalowany w C:\Program Files\Zend\ZendServer, jeśli Wasza lokalizacja się różni musicie to wziąć pod uwagę w krokach poniżej:
- Ściągamy najświeższą wersję DLL Xdebuga dla naszego PHP 5.2 w wersji NTS (download)
- Ściągniętą bibliotekę umieszczamy w katalogu z rozszerzeniami dla PHP, w moim wypadku: C:\Program Files\Zend\ZendServer\lib\phpext
- Do pliku php.ini dodajemy następujące dane:
odnajdujemy linię:
1zend_extension="C:\Program Files\Zend\ZendServer\lib\ZendExtensionManager.dll"
i zmieniamy na:
12zend_extension="C:\Program Files\Zend\ZendServer\lib\phpext\php_xdebug-2.0.5-5.2-nts.dll"zend_extension="C:\Program Files\Zend\ZendServer\lib\ZendExtensionManager.dll"
Ważne, aby xdebug był ładowany przed managerem Zenda - Musimy zmienić konfigurację Zend Debuggera.
Edytujemy plik C:\Program Files\Zend\ZendServer\etc\cfg\debugger.ini i komentujemy linijkę z dir.debugger
1;zend_extension_manager.dir.debugger="D:\Program Files\Zend\ZendServer\lib\debugger"
Restartujemy ZendServer. Jeśli operację się powiodła to w Monitor->PHP Info powinniśmy zobaczyć:
Aby móc w pełni korzystać z Xdebug w NetBeans powinniśmy na końcu pliku php.ini dodać:
1 2 3 4 |
xdebug.remote_enable=on xdebug.remote_handler=dbgp xdebug.remote_host=localhost xdebug.remote_port=9000 |