error_logger.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. function error_dumper($errno, $errstr, $errfile, $errline)
  3. {
  4. if (!(error_reporting() & $errno)) {
  5. return;
  6. }
  7. $log = fopen('/tmp/vesta.php.log', 'a+');
  8. switch ($errno) {
  9. case E_USER_ERROR:
  10. $o = date('Y-m-d H:i:s')."ERROR: $errstr [$errfile $errline]\n";
  11. $o.= " Fatal error on line $errline in file $errfile";
  12. $o.= ", PHP " . PHP_VERSION . " (" . PHP_OS . ")\n";
  13. $o.= "Aborting...\n";
  14. fwrite($log, $o);
  15. fclose($log);
  16. exit(1);
  17. break;
  18. case E_USER_WARNING:
  19. $o = date('Y-m-d H:i:s')."WARNING: $errstr [$errfile $errline]\n";
  20. fwrite($log, $o);
  21. fclose($log);
  22. break;
  23. case E_USER_NOTICE:
  24. $o = date('Y-m-d H:i:s')."NOTICE: $errstr [$errfile $errline]\n";
  25. fwrite($log, $o);
  26. fclose($log);
  27. break;
  28. default:
  29. $o = date('Y-m-d H:i:s')."Unknown error type: $errstr [$errfile $errline]\n";
  30. fwrite($log, $o);
  31. fclose($log);
  32. break;
  33. }
  34. /* Don't execute PHP internal error handler */
  35. return true;
  36. }
  37. set_error_handler('error_dumper');
  38. ?>