Probleme persistente cu depanare de pe serverul de la distanță de la cunoștințe și prieteni ma împins să scriu un post detaliate despre setarea Xdebug și IDE pentru a depana server Web la distanță.
Se presupune că Linux + Apache + php este instalat și funcționează corect.
Considerat în exemplul Ubuntu, este ușor de transferat în orice sistem * nix.
$ sudo apt - pentru a instala php5 - xdebug
După instalare, verificați dacă extensia este încărcată prin ieșirea funcției phpinfo ():
phpinfo () în scriptul de testare
sau din linia de comandă
$ php - i | grep xdebug
/ etc / php5 / cli / conf.d / 20 - xdebug .ini
Suportul xdebug => activat
xdebug .auto_trace => Off => Oprit
xdebug .cli_color => 0 => 0
xdebug .collect_assignments => Off => Off
xdebug .collect_includes => Activat => Activat
Dacă xdebug este prezent pe linia de comandă și nu există în phpinfo, se pare că configurația apache nu a fost actualizată. Reporniți serverul Web sau specificați o configurație re-citită.
Dacă nu există și în ieșirea din linia de comandă php -i - specificați php manual de unde să descărcați extensia.
Pentru a configura Xdebug, trebuie să setați câțiva parametri care sunt responsabili pentru depanarea la distanță din fișierul de configurare xdebug.
Puteți seta acești parametri direct în php.ini, dar este mai bine să utilizați o configurație specială (xdebug.ini) pentru aceasta.
Server web (apache)
Configurați xdebug pentru serverul web.
În versiunea mea de Ubuntu 14.04, fișierul de configurare a fost /etc/php5/mods-available/20-xdebug.ini
și verificați dacă parametrii noștri s-au modificat în phpinfo ().
IDE (phpStorm 7)
Să mergem la configurarea IDE-ului preferat.
- Verificăm dacă portul de depanare corespunde cu ceea ce am scris mai sus (9000):
phpStorm -> Fișier -> Setări -> [Setări proiect] -> PHP -> Debug - Creați o configurație de depanare:
Debug -> Editați configurațiile -> Creați configurarea aplicației Web - Configurați configurația creată (o singură instanță de depanare, un browser pentru trimiterea unei solicitări HTTP cu o sesiune Xdebug, un server și căi de mapare către fișiere):
Dacă totul a fost făcut în mod corect, puteți seta un punct de întrerupere într-un fișier, care, în orice caz, va acționa ca un server, cum ar fi index.php.
Și începem să depanem.