Autor Zpráva
K.
Profil *
Hezký den.
Na mém hostingu je nastaveno error-reporting na off (logicky), jenže já bych i přesto rád své chyby zpracovával a proto jsem si vytvořil svůj vlastní handler na zpracovávání chyb. Notice i warningy jsou v pohodě, ale pokud nastane fatalní chyba (tj. E_ERROR), tak k volání mého handleru nedojde. Dle manuálu jsem zjistil, že po nalezení této chyby se provádění skriptu (logicky) zastaví. Já bych ale potřeboval mít možnost i tyto chyby nějakým způsobem zpracovat (tj. logovat, error_log je na serveru bohužel taky vypnutý).
Existuje na tento problém nějaké řešení?
Děkuji.
Alphard
Profil
jestli máš přístup k php.ini, tak se tam dá nastavit zapisovaní chyb do souboru
K.
Profil *
To právěže nemám (je to ten error_log).
temistokles
Profil
Skús toto: http://sk.php.net/manual/cs/function.set-error-handler.php
Pri troche snahy by to mohlo fungovať ako error log.
K.
Profil *
temistokles
Jak jsem psal nahoře, tak tohle právě dělam.

Jinak přímo ve zdroji, který jsi uvedl se píše:
The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING

Takže tohle mi nepomůže.


Něco mi říka, že tento problém nemá řešení.
TFSi
Profil
Pokud nemáš přístup k nastavení přes PHP.ini, tak chyby zastavující skript prostě nezaznamenáš.
anode
Profil
error_reporting lze nastavit i v .htaccess a přepsat tak globální nastavení v php.ini. Zápisem:
php_value error_reporting 6143

A pokud ani to nejde, vážně bych uvažoval o změně hostingu. Ale bývá to standardní cesta, jak přepsat výchozí nastavení serveru v php.ini, na které většinou uživatel nemůže (např. vypnutí direktiv magic_quotes_gpc, register_globals..., které za běhu skriptu už vypnout nejdou, podobně jako zde).
K.
Profil *
K .htaccess nemám přímý přístup, ale zkusím se ještě nějak domluvit s adminy.

Díky všem za info.

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