diff --git a/phpBB/install/startup.php b/phpBB/install/startup.php index 94091f1beb..7c0ce5ecd2 100644 --- a/phpBB/install/startup.php +++ b/phpBB/install/startup.php @@ -151,7 +151,57 @@ function installer_shutdown_function($display_errors) } else if ($error['type'] & $supported_error_levels) { - trigger_error($error['message'], $error['type']); + // Convert core errors to user warnings for trigger_error() + if ($error['type'] == E_CORE_ERROR || $error['type'] == E_COMPILE_ERROR) + { + $error['type'] = E_USER_ERROR; + } + else if ($error['type'] == E_CORE_WARNING) + { + $error['type'] = E_USER_WARNING; + } + + try + { + installer_msg_handler($error['type'], $error['message'], $error['file'], $error['line']); + } + catch (\phpbb\exception\runtime_exception $exception) + { + echo ''; + echo ''; + echo '
'; + echo ''; + echo ''; + echo '