- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
// don't show any errors to end user
error_reporting(0);
// error handler function
function my_error_handler($errno, $errstr, $errfile, $errline) {
$date = date('d/M/Y:H:i:s O');
// \r\n for cozy look on win machines
$error_str = "{$date} | [error] #{$errno}: {$errfile}:{$errline} {$errstr} \r\n";
// *.txt for win machines
error_log($error_str, 3, 'C:\AppServ\www\error_log.txt');
// don't execute php internal error handler
return true;
}
set_error_handler('my_error_handler');
// throws error
echo date();
Рубрика: Советы от Говнокода.
В связи с #7594. Fatal errors не ловит (пхп, хуле), но их и не нужно показывать пользователю, все остальные ошибки пишем в лог на сервер.
Ошибка в логе выглядит так:
21/Aug/2011:16:50:52 +0000 | [error] #2: C:\AppServ\www\4.php:22 date() expects at least 1 parameter, 0 given
nobody 21.08.2011 20:37 # +1
Lure Of Chaos 21.08.2011 20:37 # +1
Yurik 21.08.2011 20:48 # 0
Lure Of Chaos 21.08.2011 20:59 # +1
Yurik 21.08.2011 21:28 # 0
Lure Of Chaos 21.08.2011 21:53 # +2
jokz 21.08.2011 21:12 # +3
sayidandrtfm 21.08.2011 21:46 # 0
Какая ещё на фиг «концепция»?
Идея средней руки.
Вы программист или маркетолог?
Yurik 21.08.2011 22:06 # 0
jokz 22.08.2011 00:07 # 0
roman-kashitsyn 21.08.2011 22:39 # 0
manyrus 21.08.2011 23:35 # 0
manyrus 21.08.2011 23:39 # 0
eth0 22.08.2011 10:53 # 0