/ / Virhe tulosteessa PHP: ssä

Virheiden tuottaminen PHP: ssä

Ei ole väliä kuinka varovainen ja huomaavainenWeb-ohjelmoija, hänen työnsä aikana, virheet ja epätarkkuudet ovat mahdollisia. Tämän seurauksena tämä voi johtaa sivuston tai palvelun epäonnistumiseen. Debuggaamiseen projektin kehittämisen aikana on mahdollista sisällyttää virheen tuotos PHP: hen.

Miten se toimii?

PHP reagoi varmasti tähän tai tähän koodiinscript. Joissakin tapauksissa - suoritettaessa tarvittavat toimenpiteet toisissa - näytetään virhe. Tämä mekanismi auttaa kehittäjä korjata puutteita koodin osan käyttöönoton yhteydessä.

php-tulostusvirheet

Virheiden tuottoa ei kuitenkaan aina tarvita PHP: ssä. Projektin kehittämisen jälkeen tämä toiminto on poistettu käytöstä hakkeroinnin tai luvattoman pääsyn estämiseksi.

säätö

Koko PHP-tulkekokoonpanon osalta,php.ini-tiedosto. Siinä on virheilmoitus-direktiivi, joka vain määrittää virheiden tuoton PHP: ssä. Kuitenkin, vaikka se sisältää poikkeusten käsittelyn, display_errors vastaa siitä, että ne näytetään selainikkunassa. Jos se on poistettu käytöstä, järjestelmä näyttää tyhjän sivun virheen sijaan.

Poikkeusten luokittelu

Virheiden tuotos PHP: ssä voidaan ehdollisesti jakaa useisiin luokkiin:

  • virheet, joiden seurauksena komentosarja loppuu. Niin sanottu, kohtalokas. Näitä ovat E_ERROR, E_COMPILE_ERROR;

  • virheet, jotka voidaan poistaa. Virheilmoitusdirektiivin arvot voivat olla: E_WARNING, E_NOTICE ja muut.

On syytä tarkastella yksityiskohtaisemmin jokaista tyyppiä ja kuvailla sen toiminnallisuutta.

  • E_ERROR. Yleensä tämä tyyppi viittaa sellaisiin virheisiin, joita ei voida poistaa nopeasti tai jatkaa komentosarjan suorittamista. Tämä voi sisältää ongelmia muistin allokoinnissa;

  • E_WARNING. Koodi toimii edelleen, mutta näyttöön tulee varoitus, että on olemassa jokin virhe, jonka koodi on ilmoitettu viestissä. Ei ole kriittistä;

  • E_NOTICE. Ilmoitukset, jotka osoittavat: tapahtui jotain, joka voi aiheuttaa virheen. Myöskään ei ole kriittistä koodin suorittamista varten;

  • E_USER_ERROR. Käyttäjän tuottamat virheet;

  • E_ALL. Tämä sisältää kaikentyyppiset virheet. Tyypillisesti tämä asetus on otettu käyttöön oletuksena asennettaessa tulkkia.

Kuinka ottaa virheenkorjaus käyttöön PHP: ssä

Menetelmä virheenmekanismien käyttämisestä PHP: ssävoivat vaihdella riippuen siitä, missä koodia käytetään - isännöintiin tai paikalliseen tietokoneeseen. Toisessa tapauksessa kehittäjä voi konfiguroida palvelimensa ja näyttää haluamallansa tavalla eli muuttaa konfiguraatiota php.ini-tiedostossa. Riittää, että annat kaksi direktiiviä - display_errors ja error_reporting seuraavaan lomakkeeseen:

display_errors päällä

error_reporting E_ALL

Nämä komennot näyttävät kaikki virheilmoitukset suoraan selainikkunaan.

php mahdollistaa virheilmoituksen

Jos kehitys toteutetaan virtuaalisestiisäntä, useimmiten virheiden näyttötoiminto on poistettu käytöstä turvallisuussyistä. Tämän vuoksi sinun on aktivoitava Apache htaccess -palvelimen asetustiedosto. Yleensä se on sivuston juuressa. Sinun täytyy lisätä muutaman rivin siihen tekstieditorilla:

php_flag display_errors päällä

php_value -virheilmoitus -1

Voit myös antaa virheitä suoraan koodista käyttämällä ini_set () -toimintoa. On kuitenkin pidettävä mielessä, että sivuston kehittämisen jälkeen sen soveltaminen voi aiheuttaa turvallisuusongelmia.

php-tulostusvirheet tiedostoon

Kirjoita tiedostoon

PHP: n avulla voit tallentaa kaikki kiintolevyn tietylle paikalle määritetyt virheet. Jotta PHP-virheiden tuotos voidaan sisällyttää tiedostoon, voit käyttää kolmea tapaa:

  1. muokkaa php.ini-tiedostoa. Tässä on määriteltävä kaksi riviä. Ensimmäinen on log_errors = On, joka todella aktivoi tulostusominaisuudet. Toinen on error_log = polku / haluttuun / tiedostoon.

  2. Muokkaa htaccessia. Voit myös lisätä siihen kaksi riviä. php_value log_errors «on» ja php_value error_log polku / tiedostoon.

  3. Käytä ini_set-toimintoa vaaditussa koodin paikassa.

johtopäätös

Virheiden tuotos PHP: ssä on välttämätön työkalukoodin virheenkorjaus. Mutta se voi myös luoda mahdollisesti haavoittuvia alueita. Siksi on välttämätöntä käyttää tätä mekanismia huolellisesti ja huolellisesti. Kun sivusto tai palvelu on läpäissyt kaikki testauksen vaiheet, sinun on varmistettava, ettei se näytä virheitä, joiden avulla hyökkääjä voi käyttää tärkeitä tietoja.

Lue lisää: