dispatch.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 = "ERROR: [$errno] $errstr\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 = "WARNING: [$errno] $errstr\n";
  20. fwrite($log, $o);
  21. fclose($log);
  22. break;
  23. case E_USER_NOTICE:
  24. $o = "NOTICE: [$errno] $errstr\n";
  25. fwrite($log, $o);
  26. fclose($log);
  27. break;
  28. default:
  29. $o = "Unknown error type: [$errno] $errstr\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. require dirname(__FILE__).DIRECTORY_SEPARATOR.'vesta/app.init.php';
  39. ?>