Warning: file_get_contents(http://graph.facebook.com/http://youthcoders.net/index.php): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /var/www/old-yc/plugins/content/addthis.php on line 38
Instalacja Xdebug Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
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:

  • generowania przejrzystych w pełni graficznych raportów 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".