Autor Zpráva
HokyPierce
Profil *
Jak jednoduše docílit logování chyb skriptu?
Na produkčním serveru mám výpis chyb potlačen, ale když se něco přihodí potřebuji o tom mít záznam.
Pomocí set_error_handler si sice nastavím fci. která se provede při chybě, ale o chybě již nemám žádné info.
Neposílá se v nějáké super globální proměnné třeba?
Watchick
Profil
Určitě by to bylo dost prasácké, ale napadá mě třeba funkce ob_start() ?
HokyPierce
Profil *
chapu to tak tak, ze bych si stranku poslal do cache kdyz ma error a pak si z nej obsah ulozil do souboru?
to je dost kostrbaty a navic ta chyba se ve zdorjaku preci neprojevi kdyz ji php ma potlaceny
nebo to chapu mozna spatne
AM_
Profil
v php.ini lze nastavit logování chyb do souborů (tuším log_errors). Jiná cesta, která by zachytila všechny chyby není, uživatelský error_handler zachytí max. E_STRICT, E_NOTICE, E_WARNING a E_USER_* chyby. Je to docela logické, např. v době vzniku parse erroru ještě ani kód není zpracován a zase uživatelským zpracováním fatal errorů by se daly obcházet věci jako time_limit a další.
HokyPierce
Profil *
o tehle moznosti vim a bylo by to to nejidealnejsi a nejelegantnejsi reseni, ale webhosting toto nepodporuje, resp. to nemaji zaple a nezapnou
Majkl578
Profil
http://cz.php.net/manual/cs/function.set-error-handler.php
dole mas priklad c.466
to co potrebujes je jen upravit si to a pridat zapis do souboru (zformatovani + fopen & etc...)
HokyPierce
Profil *
jenze jak psal AM_ tak tohle mi nezachyti treba vubec prekroceni pameti pri zmenseni obrazku.
to doplneni by uz problem jiste nebyl
Watchick
Profil
HokyPierce
j, to je pravda :D
no, a nebo je povolit, a pak jí z t stránky odstranit....
jinak jsem říkal že je to prasárna :)
AM_
Profil
Watchick
A jak to může fungovat? v momentě, kdy dojde k nějaké kritické chybě (parse, fatal), skript prostě skončí, a s tím, co máš v output bufferu, stejně nic nenaděláš.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0