Blog webdeveloperski Patryk yarpo Jar

Instalacja XDebug

Autor wiadomości Listopad 7, 2010

Xdebug jest rozszerzeniem pozwalającym debugować twoje skrypty. Dzięki temu rozszerzeniu możesz debugować skrypty PHP tak, jak kod C++ czy Javy! W tym artykule pokażę jak zainstalować Xdebug. Ja mam zamiar wykorzystać go do generowania raportów pokrycia kodu z działania PHP_Unit.

Co musisz mieć

Do czego wykorzystać?

Ja mam zamiar pokazać, jak wykorzystać Xdebug do:

  • generowania przejrzystych w pełni graficznych raportów pokrycia kodu z unit testów wykonanych za pomocą PHP_Unit.
  • debugowanie skryptów

Pobranie rozszerzenia

Wejdź na stronę xdebug.org/download.php i pobierz odpowiedni plik. Tu może być problem. Czasem może się okazać, że twoja wersja PHP nie jest kompatybilna z plikiem, który pobierzesz. Spróbuję opisać jak można sprawdzić poprawnie załadowane rozszerzenie.

Skopiuj pobrany plik do katalogu `ext', w którym znajdziesz wiele plików o rozszerzeniu `dll'. U mnie katalog ten znajduje się:

D:\programy\wamp\bin\php\php5.2.9-2\ext

Jednak u Ciebie może być inaczej, jeśli w innym miejscu instalowałeś PHP.

Konfiguracja

Otwórz plik `php.ini' i dodaj w nim linię:

;extension=php_zip.dll
zend_extension_ts="D:/programy/wamp/bin/php/php5.2.9-2/ext/php_xdebug-2.1.0RC1-5.2-vc6.dll"

Linię `;extension=php_zip.dll' umieściłem tu jedynie, abyś wiedział w jakim fragmencie pliku umieścić nowy wpis. Oczywiście u Ciebie ścieżka może być inna.

Pytania:

  1. Czy muszę podać "zend_extansion" / "zend_extansion_ts"?
  2. Czy muszę podać całą ścieżkę?
  3. Co jeśli nie działa?

Odpowiedzi

  1. Tak. Na oficjalnej stronie xdebug, razu używają "zend_extansion" innym razem dodają "ts" na końcu. U mnie nie działało bez "ts".
  2. Tak, musisz.
  3. patrz niżej.

Co jeśli nie działa?

Jak to przeważanie bywa, coś nie będzie działać. Co wtedy? Zajrzyj w plik `php_error.log'. U mnie znajduje się on w takiej lokalizacji:

D:\programy\wamp\logs

Przy niewłaściwej konfiguracji pokazywał się taki błąd:

[18-Apr-2010 13:10:45] PHP Warning:  Xdebug MUST be loaded as a Zend extension in Unknown on line 0
[18-Apr-2010 13:10:45] PHP Warning:  Module 'xdebug' already loaded in Unknown on line 0

Dwa pliki `php.ini':

Co złego robiłem? No cóż. Mam z lenistwa zainstalowanego Wampa (choć nie sprawdzałem, może na innych serwerach też tak jest). Z nieznanych mi przyczn posiada on 2 pliki php.ini. Jeden tu:

D:\programy\wamp\bin\php\php5.2.9-2\php.ini

A drugi tu:

D:\programy\wamp\bin\apache\Apache2.2.11\bin\php.ini

Rozszerzenie Xdebug należy dodać, tak jak wyżej pokazałem do pliku w `../php/php.ini'.

Niekompatybilne wersje

Na innym komputerze (gdzie także mam Wampa, ale z PHP w wersji 5.3) nie udawało mi się załadować Xdebuga, z powodu niekompatybilności wersji, o czym z resztą piszą autorzy rozszerzenia na swojeje stronie:

"The Windows binaries generally work for every mini release for the mentioned PHP version, although the extension is built against the most current PHP version at that time."

W skrócie: "nie działa z bardzo najnowszymi wersjami PHP".

Komentarze (0) Trackbacks (0)

Brak komentarzy.


Leave a comment

 

Brak trackbacków.