PHP Error ja Logging funktiot

PHP Error -esittely

Error- ja Logging-funktiot mahdollistavat virheiden käsittelyn ja lokien tallentamisen.

Error-funktiot mahdollistavat virheenkäsittelysääntöjen määrittämisen ja virheenlokin muokkaamisen.

Logging-funktiot mahdollistavat käyttäjien lokien tallentamisen ja viestien lähettämisen sähköpostiin, järjestelmälokiin tai muihin tietokoneisiin.

error-funktiot käytetään virheenkäsittelyyn ja lokien tallentamiseen.

error-funktiot mahdollistavat omien virheenkäsittelysääntöjen määrittämisen ja virheenlokin muokkaamisen.

logging-funktiot mahdollistavat viestien lähettämisen suoraan muihin tietokoneisiin, sähköpostiin tai järjestelmälokiin.

error reporting -funktiot mahdollistavat virheiden tyyppien ja tasojen määrittämisen.

Asennus

PHP error-funktiot ovat PHP-kärjen osa. Näitä funktioita ei tarvitse asentaa.

Suoritusajon asetukset

error-funktioiden käyttäytyminen riippuu php.ini-asetuksista.

Errors- ja logging-asetukset ovat seuraavat:

Nimi Oletusarvo Kuvaus Muokattavissa oleva alue
error_reporting NULL Aseta virheenraportointitaso (kokonaisluku tai nimetty muuttuja). PHP_INI_ALL
display_errors "1"

Määritä, näytetäänkö virheet näytölle vai piilotetaanko ne käyttäjältä.

Huomioitavaa:Tämä ominaisuus ei pitäisi käyttää tuotantoympäristössä (tuen vain kehitys).

PHP_INI_ALL
display_startup_errors "0"

Vaikka display_errors on asetettu päälle, PHP:n käynnistysvaiheen virheviestit eivät näy.

Huomautus: Suositellaan vahvasti asettamaan display_startup_errors pois päältä, paitsi virheenkorjaustarkoituksiin.

PHP_INI_ALL
log_errors "0"

Aseta, tallennetaanko skriptin suorittamisen virheviestit palvelimen virheenlokiin tai error_logiin.

Huomautus: Tämä on palvelimelle liittyvä erityinen asetus.

Huomautus: Suositellaan vahvasti käyttämään virheenlokitusweb-sivuston näytettävien virheiden tallentamiseen tuotantoympäristössä.

PHP_INI_ALL
log_errors_max_len "1024"

Aseta log_errors suurin sallittu määrä bittiä. error_log lisää tietoja virheen alkuperästä.

Oletusarvo on 1024, jos arvo asetetaan 0, pituus on rajoittamaton.

Asetus pituus vaikuttaa virheiden tallentamiseen, näytettäviin virheisiin ja $php_errormsg:ään.

PHP_INI_ALL
ignore_repeated_errors "0"

Määritä, tulostetaanko toistuvia virheviestejä.

Toistuvat virheet on oltava samassa tiedostossa samalla rivillä, ellei ignore_repeated_source aseteta true.

PHP_INI_ALL
ignore_repeated_source "0"

Määritä, tulostetaanko toistuvia virheviestejä. Kun toistuvia viestejä sivutetaan, sivutetaan myös viestien lähde.

Kun asetus on käytössä, toistuvia tietoja ei kirjata, ovatko ne eri tiedostosta tai eri lähdekoodiriviltä.

PHP_INI_ALL
report_memleaks "1" Jos parametri asetetaan On (oletus), näytetään muistivuotoja, jotka on havaittu Zend-muistinhallinnan avulla. PHP_INI_ALL
track_errors "0" Jos käytössä, viimeisin virhe säilytetään aina muuttujassa $php_errormsg. PHP_INI_ALL
html_errors "1" Sulje HTML-merkkijonot virheviestissä.
  • PHP_INI_ALL
  • PHP_INI_SYSTEM PHP <= 4.2.3.
xmlrpc_errors "0" Jos käytössä, sulje tavallinen virheraportointi ja aseta virheiden muoto XML-RPC-virheviestien muotoon. PHP_INI_SYSTEM
xmlrpc_error_number "0" Käytetään XML-RPC faultCode-elementin arvona. PHP_INI_ALL
docref_root "" (saatavilla PHP 4.3 alkaen) PHP_INI_ALL
docref_ext "" (saatavilla PHP 4.3.2 alkaen) PHP_INI_ALL
error_prepend_string NULL Määritä virheviestin ennen tulostettava merkkijono. PHP_INI_ALL
error_append_string NULL Määritä virheviestin jälkeen tulostettava merkkijono. PHP_INI_ALL
error_log NULL

Aseta skriptin virheiden kirjaamiseen käytettävä tiedosto. Tiedosto on oltava verkkosivuston käyttäjän kirjoitettavissa.

Jos käytetään erityistä arvoa syslog, lähetä virheviestit järjestelmäkirjaajaan.

PHP_INI_ALL

PHP Error ja Logging funktiot

Funktio Kuvaus
debug_backtrace() Luo backtrace.
debug_print_backtrace() Tulosta backtrace.
error_get_last() Palauta viimeksi tapahtunut virhe.
error_log() Lähetä virheilmoituksia palvelimen virhekirjaan, tiedostoon tai etäkohteeseen.
error_reporting() Määritä, minkä virheen raportointi.
restore_error_handler() Palauta aiempi virheenkäsittelyohjelma.
restore_exception_handler() Palauta edellinen poikkeuskäsittelyohjelma.
set_error_handler() Aseta käyttäjän määrittämä virheenkäsittelyfunktio.
set_exception_handler() Aseta käyttäjän määrittämä poikkeuskäsittelyfunktio.
trigger_error() Luo käyttäjän tason virheviestit.
user_error() trigger_error() -alias

PHP 5:n määritellyt virhe- ja lokikonstantit

Arvo Konstantti Kuvaus
1 E_ERROR Suoritusajanjakson fataali virhe. Korjaamaton virhe. Keskeyttää skriptin suorittamisen.
2 E_WARNING Suoritusajanjakson ei-fatalinen virhe. Ei keskeytä skriptin suorittamista.
4 E_PARSE Käännöskelvyn aikainen kielioppivirhe. Kielioppivirheet tuotetaan vain analysoijalla.
8 E_NOTICE Suoritusajanjakson ilmoitukset. Merkitsee, että skripti kohtaa tilanteen, joka voisi ilmetä virheenä, mutta joka voi myös olla skriptin normaalissa toiminnassa.
16 E_CORE_ERROR PHP:n aloitusprosessin aikainen fataali virhe. Tämä virhe on samanlainen kuin E_ERROR, mutta se on tuotettu PHP-moottorin ytimen toimesta.
32 E_CORE_WARNING PHP:n aloitusprosessin aikainen varoitus (ei-fatalinen virhe). Samanlainen kuin E_WARNING, mutta se on tuotettu PHP-moottorin ytimen toimesta.
64 E_COMPILE_ERROR Käännöskelvyn aikainen fataali virhe. Samanlainen kuin E_ERROR, mutta se on tuotettu Zend-skriptimoottorin toimesta.
128 E_COMPILE_WARNING Käännöskelvyn aikainen varoitus (ei-fatalinen virhe). Samanlainen kuin E_WARNING, mutta se on tuotettu Zend-skriptimoottorin toimesta.
256 E_USER_ERROR Käyttäjän luoma virheviesti. Samanlainen kuin E_ERROR, mutta se on tuotettu käyttäjän omalla koodilla PHP-funktiolla trigger_error().
512 E_USER_WARNING Käyttäjän luoma varoitusviesti. Samanlainen kuin E_WARNING, mutta se on tuotettu käyttäjän omalla koodilla PHP-funktiolla trigger_error().
1024 E_USER_NOTICE Käyttäjän luoma ilmoitustieto. Samanlainen kuin E_NOTICE, mutta se on tuotettu käyttäjän omalla koodilla PHP-funktiolla trigger_error().
2048 E_STRICT Aktivoi PHP:n koodin muutosten ehdotukset varmistaaksesi, että koodi on parhaalla mahdollisella yhteensopivuudella ja edistyneisyydellä.
4096 E_RECOVERABLE_ERROR 可被捕捉的致命错误。它表示发生了一个可能非常危险的错误,但是还没有导致 PHP 引擎处于不稳定的状态。 如果该错误没有被用户自定义句柄捕获 (参见 set_error_handler()),将成为一个 E_ERROR 从而脚本会终止运行。
8192 E_DEPRECATED 运行时通知。启用后将会对在未来版本中可能无法正常工作的代码给出警告。
16384 E_USER_DEPRECATED 用户产生的警告信息。类似 E_DEPRECATED, 但是是由用户自己在代码中使用 PHP 函数 trigger_error() 来产生的。
32767 E_ALL E_STRICT 除非的所有错误和警告信息。