Nemrég kezdtem el jobban a PHP-re koncentrálni, és létre kellett hoznom egy helyi hibakeresési környezetet. Mivel nem sok oktatóanyag van a megvalósításáról, problémákat tapasztaltam a telepítés elindításával.
Néhány oktatóanyag ötvözésével és néhány fórumon töltött néhány órával ezt a szöveget találtam ki. Az alkalmazás, amin dolgozom, egy Vagrant doboz belsejében fut, ami valahogy remeg. Időről időre összeomlik, ezért újra kell csinálnom ezt a beállítást, és ezért tudom, hogy ez a beállítás működik :).
Ennek az oktatóanyagnak az a célja, hogy az Xdebug működjön a szerveren, majd mutassa a PhpStorm-ot az Xdebug-ra.Kezdjük el.
Előfeltételek
Ha még nincs telepítve az Xdebug a szerverre, de a PHP7 szoftvert használja, megteheti az itt található hivatalos Xdebug webhely Testreszabott telepítési utasításainak használatával.
Mivel azonban a projektem a PHP5-öt használja, régimódi módon kellett ezt elvégeznem: utánanézni a fórumokon .
Ebben az oktatóanyagban feltételezem, hogy az Xdebug telepítve van.
Elkezdeni
Először meg kell találnia az xdebug.so fájl helyét a szerveren. Másolja át a helyet valahova, ahogy később használni fogja.
locate xdebug.so
Most el kell navigálnia a kiszolgálón belül egy helyre: /etc/php5/apache2/conf.d/ és ellenőriznie kell, hogy létezik-e ott a 20-xdebug.ini fájl. Ha nem létezik, hozzon létre egyet. Hozhat létre egyet olyan parancsokkal, mint az érintés, a vim, a vi, a nano és így tovább.
Láthatja, hogy a projektem PHP5-ben készült, ezért változtassa meg a mappa nevét / helyét a PHP verziójának megfelelően.
Most nyissa meg a 20-xdebug.ini fájlt, és illessze be ezt:
zend_extension=”location to your xdebug.so file” xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.remote_host=”your localhost address” xdebug.remote_autostart=1 xdebug.remote_connect_back=0 xdebug.remote_handler=”dbgp” xdebug.remote_mode=req xdebug.remote_cookie_expire_time=-9999 xdebug.remote_log=”/tmp/xdebug.log” xdebug.var_display_max_depth=15 xdebug.profiler_enable=0 xdebug.idekey=”phpstorm”
A 20-xdebug.ini fájl magyarázatából kiderül, hogy ezekre a beállításokra nincs szükség, vagy alapértelmezett értékre vannak állítva. Azért tartom ezeket az értékeket a 20-xdebug.ini fájlban, mert jó tudni.
A 20-xdebug.ini fájl magyarázata:
- xdebug.remote_enable - ellenőrzi, hogy az Xdebug megpróbálja-e felvenni a kapcsolatot a hibakereső klienssel, amely a gazdagépen és a porton figyel, a beállítások szerint
- xdebug.remote_port - Az a port, amelyhez az Xdebug megpróbál csatlakozni a távoli gazdagépen. Alapértelmezés szerint 9000.
- xdebug.remote_host - Kiválasztja azt a gazdagépet, ahol a hibakereső kliens fut. Alapértelmezés szerint a localhost.
- xdebug.remote_autostart - ha ez a beállítás 1-re van állítva, az Xdebug megpróbálja elindítani a távoli hibakeresési munkamenetet, és megpróbál csatlakozni egy klienshez.
- xdebug.remote_connect_back - Ha engedélyezve van, az xdebug.remote_host beállítást figyelmen kívül hagyja, és az Xdebug megpróbál csatlakozni ahhoz a klienshez, amelyik HTTP-kérést küldött. Alapértelmezés: 0.
- xdebug.remote_handler - Vagy 'php3' lehet, amely kiválasztja a régi PHP 3 stílusú hibakeresõ kimenetet, 'gdb', amely lehetõvé teszi a GDB-hez hasonló debugger felületet vagy 'dbgp' - a debugger protokollt. A DBGp protokoll az egyetlen támogatott protokoll. Alapértelmezés szerint dbgp.
- xdebug.remote_mode - Kiválasztja a hibakeresési kapcsolat indítását. Ennek a beállításnak két különböző értéke lehet: req - Az Xdebug megpróbál csatlakozni a hibakereső klienshez, amint a parancsfájl elindul. jit - Az Xdebug csak akkor próbál csatlakozni a hibakereső klienshez, ha hibaállapot lép fel.
- xdebug.remote_cookie_expire_time - Ezzel a beállítással növelhető (vagy csökkenthető) az az idő, amikor a távoli hibakeresési munkamenet életben marad a munkamenet süti segítségével. Alapértelmezés szerint 3600.
- xdebug.remote_log - Ha értékre van állítva, akkor egy fájl fájlneveként használják, amelyhez az összes távoli hibakereső kommunikációt naplózza.
- xdebug.var_display_max_depth - Meghatározza, hogy a tömbelemek és az objektumtulajdonságok hány beágyazott szintet tartalmazzanak, amikor a változókat az xdebug_var_dump (), az xdebug.show_local_vars vagy a Funkciókövetések segítségével jelenítik meg. Az alapértelmezett érték 3.
- xdebug.profiler_enable - Engedélyezi az Xdebug profilolóját, amely fájlokat hoz létre a profil kimeneti könyvtárában. Alapértelmezés: 0.
- xdebug.idekey - Azt vezérli, hogy az Xdebug IDE Key melyik fájlt adja át a DBGp hibakereső kezelőjének. Az alapértelmezés a környezeti beállításokon alapul.
Mentse a fájlt, és indítsa újra az Apache szervert:
sudo service apache2 restart
Xdebug és PhpStorm
Először meg kell nyitnia a PhpStorm alkalmazást, és válassza a Futtatás> Konfiguráció szerkesztése lehetőséget. Itt válassza a + (Új konfiguráció hozzáadása) lehetőséget, majd válassza a „PHP Remote Debug” lehetőséget.
Változtassa meg a konfiguráció nevét „Névtelen” -ről valami másra. Nyilvánvaló okokból választottam a „Bemutató” nevet;) Ezután ellenőrizze a „Hibakeresési kapcsolat szűrése IDE kulcs alapján” elemet.

Kattintson a Szerverek gombra (…), majd válassza a + (Új szerver hozzáadása) lehetőséget.
- Nevezze át szerverét valami megnyugtatóbbra. Ebben a példában a „localbackend1” -t választottam.
- A Host mezőbe írja be a helyi hostját. Állítsa a Debuggert Xdebug-ra.
- Válassza az „Útvonal-hozzárendelés használata” lehetőséget, és mutasson az alkalmazás mappájára.
Kattintson az Alkalmaz gombra. Visszatér az előző ablakba, ahol látni fogja, hogy az IDE kulcs szerkeszthető, és most meg kell adnia egy kulcsot. Mindig feltettem a „phpstorm” -t vagy valami hasonlót.

Észre fogja venni, hogy a „phpstorm” IDE kulcs már benne van a 20-xdebug.ini fájlban:
xdebug.idekey=”phpstorm”
Csak az Egyetlen példányt is válassza, mivel ez megakadályozza, hogy ugyanazon projektből egynél több példány induljon.
Kattintson a Jelentkezés és a Voilà gombra!
Kész a beállítással!
Tesztelés és csomagolás
Most teljes vagy. A PhpStorm jobb felső sarkában látnia kell az általunk létrehozott Tutorial konfigurációt.

Kipróbálhatja a projekt töréspontjának beállításával. Kattintson a Bug gombra a bemutató konfigurációs ablakában, majd futtassa az alkalmazást.
Ennyi legyen, ha minden rendben van, akkor el kell érnie a töréspontot.
És ne feledje, semmi sem éri el azt az érzést, hogy a futási idő értékeit hibakeresés közben látja.
Köszönöm, hogy elolvasta! Nézzen meg további ilyen cikkeket és más szórakoztató anyagokat, amelyeket a Github-profilomon készítek: