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.
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.
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):
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:
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