PHP:n virheilmoitukset

Mureakuha

Loikkaa: valikkoon, hakuun

PHP:ssä on monta asetusta virheilmoituksiin liittyen jotka aiheuttavat yleisesti sekaannusta aloittelijoiden joukossa, tällä sivulla listataan muutama asia näihin liittyen jotka olisi hyvä tietää.

Tietoturva

Yleisesti ottaen tuotannossa olevalta sivustolta kannattaa ottaa virheilmoitusten näyttö pois päältä, jotta mahdollisen virhetilanteen sattuessa ei lukijoille kerrota turhan paljoa sivuston toiminnasta. Sen sijaan kannattaa laittaa virheet menemään palvelimen error.log:iin jolloin itse voi seurata onko missään tapahtunut virheitä. Virheilmoitukset saa pois näkyvistä alla olevia esimerkkejä soveltamalla päinvastaiseksi. Lokitiedostoon virheet saa menemään seuraavalla php.ini:n asetuksella:

  log_errors = On

Mikäli haluat tallentaa virheilmoitukset johonkin erilliseen tiedostoon, tämä onnistuu asetuksella

  error_log = /hakemisto/phperrors.log

Tiedosto pitää olla olemassa ja kirjoitusoikeudet siihen kunnossa niin, että php voi sinne kirjoittaa.

Virheilmoitukset näkyviin

Sivuston kehityksen aikana virheet on kuitenkin hyvä pitää päällä jolloin debuggaus ja kehitys helpottuu. Tämän tekemiseen on monta tapaa, alla esimerkkejä. Raportointitasot löytyvät PHP:n manuaalista.

Skriptin alkuun tällaiset:

<?php
  error_reporting(E_ALL|E_STRICT);
  ini_set("display_errors", "1");
?>

Tai php.ini:

display_errors   =  On
error_reporting  =  E_ALL|E_STRICT

Tai .htaccess: (jolloin asetus vaikuttaa siihen hakemistoon ja kaikkiin sen alihakemistoihin)

php_value display_errors   on
php_value error_reporting  2047
Henkilökohtaiset työkalut