A php hibakezelésének több szintje van. E_ALL kijelzi az összes hibát, figyelmeztetést és megjegyzést. Ez felesleges, mert éles rendszeren a megjegyzéseknek (E_NOTICE) és a figyelmeztetéseknek (E_WARNING) nincs helyük. Ezeket csak a Fejlesztői és a tesztelői rendszeren szabad használni.
Ha a képernyőre kiírja a rendszer egy végzetes hiba hibaüzenetét, akkor a támadó felderítheti az include-olt fájlok útvonala alapján, hogy hol éredemes próbálkoznia
Az éles szerveren a php.ini beállításait az alábbi módon érdemes használni
display_errors=off - paraméterével lehet a hibaüzeneteket letiltani a képernyőről
log_errors = on - bekapcsolja a logolást a szerver oldalon.
error_log = /error_elérési_utvonal/error.log - paraméterével olyan helyre kell menteni az error.log fájlt, amely nem elérhető a web felől.
A kódban a mindenkori futás elején beállított error_reporting() függvény segítségével gyorsan átállítható a riportolás az éles és a Fejlesztői szerver változat esetén.
További probélmát okozhat, hogyha a POST változókat GET változókkal írja felül a támadó. Ez akkor érdekes, hogyha a szerver oldalon REQUEST globális változók felhasználásával veszi át a script a paramétereket.