Debugging - de la simplu la convenabil

sunați doar această funcție în locurile de cod unde trebuie să arătați cum a ajuns interpretul la acest loc.

Iată câteva variante de oprire a scriptului:

foreach ($ trace ca $ pas => $ a)

opțiune cu excepție:

foreach ($ trace ca $ pas => $ a)

aruncați o nouă excepție ("Să vedem următoarea stivă");

ar părea frumusețea, ce altceva este necesar, dar asta nu e tot. Ie pentru a arunca automat o Excepție atunci când apare o eroare, puteți face acest lucru:

set_error_handler (create_function ( '$ c, $ m, $ f, $ l' 'arunca nouă Excepție ($ m);'), E_ALL);

Dar, pentru a simți cu adevărat toate avantajele de depanare, este mai bine să utilizați XDEbug + PhpStorm

1. instalați xdebug

# aptitude instalează php5-xdebug

2. Reporniți Apache și verificați prezența phoenix-ului instalat (de exemplu)

3. Specificați setările în fișierul de configurare /etc/php5/conf.d/xdebug.ini

P.S. Vă sfătuiesc în php.ini să puneți html_errors = Off și aici sunt câteva dintre setările mele preferate:

xdebug.cli_color = 1 - decorează consola
xdebug.remote_host = localhost
xdebug.remote_port = 9001 - pentru nginx
xdebug.remote_handler = "dbgp"
xdebug.idekey = PHPSTORM - dacă decideți să încărcați pe o anumită gazdă

4. Reporniți din nou Apache. După aceasta, accesați setările PHStorm. Accesați meniul Run-> Edit Configuration (Editare) și editați depanarea la distanță de la PHP.

Debugging - de la simplu la convenabil

după cum puteți vedea, în câmpul cheie Ide, am indicat același lucru ca în setări, apoi am făcut clic pe configurația serverului potrivit, l-am derulat cu galben (vezi partea dreaptă sus) și vei vedea o astfel de fereastră:

După cum puteți vedea, am dat numele serverului meu (puteți scrie doar Vasya, este doar pentru dvs.) și Host: aici am indicat numele de domeniu al site-ului pe care o voi depana, tot ce am avut deja.

Sunt mai confortabil cu extensia browserului Chrome.

De fapt, totul este pregătit pentru testare, să încercăm acum.

1. În panoul de sus al programului PhpStorm, faceți clic pe butonul "Ascultă conexiunile de depanare PHP", arată astfel

2. În codul site-ului dvs., în orice linie puneți un punct de pauză (Punct de întrerupere), făcând clic în partea dreaptă a numărului de linie.

Debugging - de la simplu la convenabil

3. În browser-ul dvs., deschideți site-ul nostru, în cazul meu panoul de domeniu www.site.lebnik și ați făcut clic pe butonul de eroare de browser și selectați Debug

4. Actualizați pagina a site-ului si uita-te la PhpStorm, se va opri un script PHP în locul specificat de tine și de a vă arăta Trace și parametrii (date):

Debugging - de la simplu la convenabil

asta e tot, încercați, este foarte convenabil!

P.S. și pentru a depana scriptul care rulează în consola, tastați:

$ export XDEBUG_CONFIG = "idekey = PHPSTORM"

apoi executați scriptul:

$ php -e /home/www/test.php

Dar, unii perverși ca mine pot dori să ruleze scriptul folosind protocolul http, dar o puteți face astfel:

Sau prin cookies.txt un fișier cu astfel de conținut:

www.site.ru FALSE / FALSE 1379142491 XDEBUG_SESSION PHPSTORM

și acum numim scriptul nostru:

Cu toate acestea, merită să ne amintim că POST nu va trece, deoarece wget nu acceptă date multipart / formate

pentru că implicit de servicii php5-fpm filare la 9000 de port, schimba portul pentru xdebug, cum ar fi 9089:

după care trebuie să reporniți FPM

serviciu php5-fpm reporniți

și în PhpStorm, prescrie 9089 aici:

Debugging - de la simplu la convenabil

P.S. la un moment dat am cumva kosyachny a început să lucreze grămadă xdebug + PhpStorm, pe prima linie PhpStorm capturat apelul de la consola, am putea merge în jos pașii, și chiar termina apelul, dar breykpointy nu a funcționat, așa că ne-am pus Debian virtuală GUI:

aptitude install xorg meniu openbox obconf obmenu
startx

și pentru Java pentru PhpStorm:

aptitude instalează openjdk-7-jdk

Articole similare