Pantalla blanca de la muerte (Drupal)

25 de May, 2015

Si tenemos problemas con la pantalla blanca de la muerte en Drupal,

para mostrar todos los errores solo debemos colocar el siguiente condigo en el index.php

  1. ini_set('display_errors', 'On');
  2. ini_set('html_errors', 0);
  3.  
  4. error_reporting(-1);
  5.  
  6. function ShutdownHandler()
  7. {
  8. if(@is_array($error = @error_get_last()))
  9. {
  10. return(@call_user_func_array('ErrorHandler', $error));
  11. };
  12.  
  13. return(TRUE);
  14. };
  15.  
  16. register_shutdown_function('ShutdownHandler');
  17.  
  18. function ErrorHandler($type, $message, $file, $line)
  19. {
  20. $_ERRORS = Array(
  21. 0x0001 => 'E_ERROR',
  22. 0x0002 => 'E_WARNING',
  23. 0x0004 => 'E_PARSE',
  24. 0x0008 => 'E_NOTICE',
  25. 0x0010 => 'E_CORE_ERROR',
  26. 0x0020 => 'E_CORE_WARNING',
  27. 0x0040 => 'E_COMPILE_ERROR',
  28. 0x0080 => 'E_COMPILE_WARNING',
  29. 0x0100 => 'E_USER_ERROR',
  30. 0x0200 => 'E_USER_WARNING',
  31. 0x0400 => 'E_USER_NOTICE',
  32. 0x0800 => 'E_STRICT',
  33. 0x1000 => 'E_RECOVERABLE_ERROR',
  34. 0x2000 => 'E_DEPRECATED',
  35. 0x4000 => 'E_USER_DEPRECATED'
  36. );
  37.  
  38. if(!@is_string($name = @array_search($type, @array_flip($_ERRORS))))
  39. {
  40. $name = 'E_UNKNOWN';
  41. };
  42.  
  43. return(print(@sprintf("%s Error in file \xBB%s\xAB at line %d: %s\n", $name, @basename($file), $line, $message)));
  44. };
  45.  
  46. $old_error_handler = set_error_handler("ErrorHandler");