source: www/statistic/new/error.php@ 1

Last change on this file since 1 was 1, checked in by george, 17 years ago

Prvotní import všeho

File size: 2.1 KB
Line 
1<?php
2
3// Obsluha chyb v1.1.1 //
4
5$Error_Email = 'robie@centrum.cz'; // Adresa, kam budou chyby odesílány
6$Error_Subject = 'Chybové hlá¹ení'; // Název zpráv o chybách
7$Error_ShowDetails = 1; // Zobrazit detajly o chybì
8
9//error_reporting(0); // Vypni interní obsluhu chyb
10
11function obsluha_chyb($errno,$errmsg,$filename,$linenum,$vars)
12{
13 global $Error_ShowDetails;
14 $dt = date("Y-m-d H:i:s"); // èasové razítko polo¾ky
15 $errortype = array (
16 1 => "Error",
17 2 => "Warning",
18 4 => "Parsing Error",
19 8 => "Notice",
20 16 => "Core Error",
21 32 => "Core Warning",
22 64 => "Compile Error",
23 128 => "Compile Warning",
24 256 => "User Error",
25 512 => "User Warning",
26 1024 => "User Notice"
27 );
28 $user_errors = E_ALL; //E_ERROR | E_WARNING | E_PARSE;
29
30 if($user_errors & $errno)
31 {
32 $err = '# '.$dt.' : '.$errmsg."\n";
33 $Backtrace = debug_backtrace();
34 array_shift($Backtrace);
35 //array_shift($Backtrace);
36 foreach($Backtrace as $Item)
37 {
38 $err .= ' '.$Item['file'].'('.$Item['line'].")\t".$Item['function'];
39 $arguments = '';
40 if(array_key_exists('args', $Item) and is_array($Item['args']))
41 foreach($Item['args'] as $Arg)
42 {
43 if(is_array($Arg)) $arguments .= "'".serialize($Arg)."',";
44 else $arguments .= "'".$Arg."',";
45 }
46 if(strlen($arguments)>0) $err .= '('.substr($arguments,0,-1).")";
47 $err .= "\n";
48
49 }
50 $err .= "\n";
51 //echo('Uvnitø'.$errno);
52 error_log($err,3,'error.log'); // Ulo¾ do chybového protokolu
53 //$err = "Datum: ".$dt."\nHlá¹ení: ".$errmsg."\nSkript: ".$filename."\nØádek: ".$linenum;
54 //mail($Error_Email,$Error_Subject,$err); // Po¹li mi zprávu (pokud je to kritická chyba)
55 echo('Do¹lo k vnitøní chybì!<br> O chybì byl uvìdomnìn správce webu a chybu brzy odstraní.<br><br>');
56 if($Error_ShowDetails==1) echo('<pre>'.$err.'</pre><br>'); // V pøípadì ladìní chybu i zobraz
57 if((E_ERROR | E_PARSE) & $errno) die();
58 }// else echo($errmsg.'<br>');
59}
60
61set_error_handler('obsluha_chyb'); // Aktivuj novou obsluhu chyb
62
63?>
Note: See TracBrowser for help on using the repository browser.