/ / Kļūdu izlaide PHP

PHP kļūdu izlaide

Nav svarīgi, cik uzmanīgi un uzmanīgiWeb programmētājam viņa darba laikā ir iespējamas kļūdas un neprecizitātes. Rezultātā tas var novest pie vietnes vai pakalpojuma neveiksmes. Projekta izstrādes laikā atkļūdošanas laikā PHP var iekļaut kļūdu izvadi.

Kā tas darbojas?

PHP noteikti reaģē uz šo vai citu koduskripts. Dažos gadījumos - veicot nepieciešamo darbību, citās - tiek parādīta kļūda. Šis mehānisms palīdz izstrādātājam, veicot koda sadaļu, novērst trūkumus.

php izejas kļūdas

Tomēr PHP kļūdu izlaide ne vienmēr ir nepieciešama. Pēc projekta izstrādes pabeigšanas šī funkcija ir atspējota, lai izvairītos no uzlaušanas vai nesankcionētas piekļuves.

Pielāgot

Visai PHP tulka konfigurācijaiphp.ini fails. Tam ir kļūdas ziņošanas direktīva, kas tikai nosaka PHP izteiksmi. Tomēr, lai arī tajā ietverta izņēmumu apstrāde, display_errors ir atbildīgs par to parādīšanu pārlūkprogrammas logā. Ja tā ir atspējota, sistēma parāda tukšu lapu, nevis kļūdu.

Izņēmumu klasifikācija

PHP kļūdas iznākumu var nosacīti sadalīt vairākās kategorijās:

  • kļūdas, kā rezultātā skripts pārtrauks darboties. Tā sauktais letāls iznākums. Tie ietver E_ERROR, E_COMPILE_ERROR;

  • kļūdas, kuras var novērst. Viņu vērtības kļūdas ziņošanas direktīvai var būt: E_WARNING, E_NOTICE un citi.

Ir vērts sīkāk aplūkot katru veidu un raksturot tā funkcionālo.

  • E_ERROR. Parasti šis tips attiecas uz tādām kļūdām, kuras nevar ātri novērst vai turpināt skripta izpildi. Tas var ietvert problēmas ar atmiņas sadali;

  • E_WARNING. Kods turpinās darboties, taču tiks parādīts brīdinājums, ka ir kāda kļūda, kuras kods ir norādīts ziņojumā. Nav kritisks;

  • E_NOTICE. Paziņojumi, kas parāda: ir noticis kaut kas, kas varētu radīt kļūdu. Arī nav koda izpildei kritiska;

  • E_USER_ERROR. Kļūdas, ko rada lietotājs;

  • E_ALL. Tas ietver visu veidu kļūdas. Parasti šī opcija ir iespējota pēc noklusējuma, ja instalē tulku.

Kā iespējot kļūdu izvadi PHP

Kļūdas mehānismu izmantošanas veids PHPvar atšķirties atkarībā no tā, kur kods tiek lietots - uzņemšanas vai vietējā datora. Otrajā gadījumā izstrādātājs var konfigurēt savu serveri un parādīt, cik viņš vēlas, proti, mainīt konfigurāciju php.ini failā. Tas ir pietiekami, lai sniegtu divas norādes - display_errors un error_reporting uz šādu formu:

display_errors on

error_reporting E_ALL

Šīs komandas parādīs visus kļūdas ziņojumus tieši pārlūkprogrammas logā.

php kļūdu paziņošana

Ja izstrāde notiek virtuālā veidāhosting, tad visbiežāk kļūdu parādīšanas funkcija drošības apsvērumu dēļ ir atspējota. Tāpēc, lai to aktivizētu, jums būs jāizmanto Apache htaccess servera konfigurācijas fails. Parasti tā ir vietnes sakne. Jums ir jāpievieno pāris rindiņas, izmantojot jebkuru teksta redaktoru:

php_flag display_errors on

php_value kļūdu ziņošana -1

Jūs varat arī izvadīt kļūdas tieši no koda, izmantojot funkciju ini_set (). Tomēr jāpatur prātā, ka pēc vietnes izstrādes tā piemērošana var izraisīt drošības problēmas.

php izejas kļūdas failu

Rakstiet uz failu

PHP ļauj saglabāt visas kļūdas, kas notikušas konkrētā vietā cietajā diskā. Lai failā iekļautu PHP kļūdu izvadi, varat izmantot trīs metodes:

  1. rediģējiet failu php.ini. Šeit jums ir jādefinē divas rindas. Pirmais ir log_errors = On, kas faktiski aktivizē izejas spēju. Otrais ir error_log = path / uz vēlamo / failu.

  2. Rediģējiet htaccess. Varat arī pievienot divas līnijas. php_value log_errors "on" un php_value error_log path / uz failu.

  3. Izmantojiet ini_set funkciju vajadzīgajā koda vietā.

Secinājums

Вывод ошибок в PHP — необходимый инструмент в koda atkļūdošana. Bet tas var arī radīt potenciāli neaizsargātas zonas. Tādēļ ir nepieciešams šo mehānismu izmantot uzmanīgi un uzmanīgi. Kad vietne vai pakalpojums ir nokārtojis visus pārbaudes posmus, jums jāpārliecinās, ka tajā nav redzamas kļūdas, ar kurām uzbrucējs var piekļūt svarīgiem datiem.