Issue #2159459 by sun: Rebuild script triggers errors in error handler, fails to rebuild container.
parent
7240b39bff
commit
f8d09132da
|
@ -373,12 +373,14 @@ function format_backtrace(array $backtrace) {
|
|||
else {
|
||||
$call['function'] = 'main';
|
||||
}
|
||||
foreach ($trace['args'] as $arg) {
|
||||
if (is_scalar($arg)) {
|
||||
$call['args'][] = is_string($arg) ? '\'' . filter_xss($arg) . '\'' : $arg;
|
||||
}
|
||||
else {
|
||||
$call['args'][] = ucfirst(gettype($arg));
|
||||
if (isset($trace['args'])) {
|
||||
foreach ($trace['args'] as $arg) {
|
||||
if (is_scalar($arg)) {
|
||||
$call['args'][] = is_string($arg) ? '\'' . filter_xss($arg) . '\'' : $arg;
|
||||
}
|
||||
else {
|
||||
$call['args'][] = ucfirst(gettype($arg));
|
||||
}
|
||||
}
|
||||
}
|
||||
$return .= $call['function'] . '(' . implode(', ', $call['args']) . ")\n";
|
||||
|
|
|
@ -34,6 +34,12 @@ function drupal_var_export($var, $prefix = '') {
|
|||
* @see rebuild.php
|
||||
*/
|
||||
function drupal_rebuild() {
|
||||
// Remove Drupal's error and exception handlers; they rely on a working
|
||||
// service container and other subsystems and will only cause a fatal error
|
||||
// that hides the actual error.
|
||||
restore_error_handler();
|
||||
restore_exception_handler();
|
||||
|
||||
// drupal_bootstrap(DRUPAL_BOOTSTRAP_KERNEL) will build a new kernel. This
|
||||
// comes before DRUPAL_BOOTSTRAP_PAGE_CACHE.
|
||||
PhpStorageFactory::get('service_container')->deleteAll();
|
||||
|
@ -50,4 +56,9 @@ function drupal_rebuild() {
|
|||
|
||||
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
|
||||
drupal_flush_all_caches();
|
||||
|
||||
// Restore Drupal's error and exception handlers.
|
||||
// @see _drupal_bootstrap_configuration()
|
||||
set_error_handler('_drupal_error_handler');
|
||||
set_exception_handler('_drupal_exception_handler');
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue