ugrás a tartalomhoz

Naplózás megvalósítása PHP hibaüzenetekkel is

Anonymous · 2006. Feb. 24. (P), 19.15
Üdv!

Neki álltam egy php oldalnak, Drupal szerű szeretnék csinálni, nem mint portál hanem mint oldal. Pl.: nem 1.php?q=user&id=10 lenne hanem /1/q=user/10 lenne amit elvileg meg is tudok oldani, de a naplózással lenne gondom.

Meg szeretném azt csinálni, hogy mikor belép egy felhasználó vagy bármi történik az oldalon azt mysql táblába mentse az oldal. Egy ideig ez is ok, de mivan akkor ha valamit kiir az oldal, hogy pl.:

Warning: main(modules/loggig.inc): failed to open stream: No such file or directory in c:\appserv\www\index.php on line 2

nos akkor az lenne a jó ha ezt is kitudná írni a táblába.

Hogy csinálom azt, hogy kiirja a php hibákat is a táblába?

Előre is köszönöm a válaszokat, remélem megértettétek mit is szeretnék.(mert nem tudok valami jól fogalmazni.)

Dávid
 
1

PHP hibaüzenetek

Hojtsy Gábor · 2006. Feb. 25. (Szo), 14.28
A PHP hibaüzeneteket a set_error_handler() segítségével beállított hibakezelővel tudod elkapni. Persze mindent nem, jellemzően az értelmezési hibákat nem, hiszen akkor még nem is fut a szkripted, amikor a PHP értelmezi.

A kérdéshez egyáltalán nem kapcsolódó egyéb problémáidat kiszerkesztettem a kérdésből. Itt nem illik egy témában egymással nem kapcsolatos kérdéseket felvetni, lásd erről szóló leírásunkat.
2

register_shutdown_function

Hodicska Gergely · 2006. Már. 5. (V), 18.11
Ezt annyival kiegészíteném, hogy érdemes bevetni a témában a register_shutdown_function függvényt is. Ennek az az előnye, hogy bizonyos hibák esetén ez a függvény még meghívódik, míg az általunk definiált hibakezelő nem. Pl. ha meghívunk egy függvényt, ami nem létezik, akkor FATAL ERRORT kapunk, ami után a futás felfüggesztődik, de a register_shutdown_function által regisztrált függvény még meghívódik. Ezért érdemes a hibakezelő egy részét ide költöztetni, ezáltal olyan hibákról is értesítést kaphatunk, amelyekről amúgy nem.


Felhő