Instalacja Xdebug |
Wpisany przez Patryk yarpo Jar | |||
niedziela, 18 kwietnia 2010 12:19 | |||
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 z działania PHP_Unit.
Co musisz mieć
Do czego wykorzystać?Ja mam zamiar pokazać, jak wykorzystać Xdebug do:
Pobranie rozszerzeniaWejdź 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ę: Jednak u Ciebie może być inaczej, jeśli w innym miejscu instalowałeś PHP.
KonfiguracjaOtwórz plik `php.ini' i dodaj w nim linię: 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:
Odpowiedzi
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: Przy niewłaściwej konfiguracji pokazywał się taki błąd:
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: A drugi tu: Rozszerzenie Xdebug należy dodać, tak jak wyżej pokazałem do pliku w `../php/php.ini'.
Niekompatybilne wersjeNa 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".
|