From cf799897e208ece404329af79a22dd9ab72c7a8c Mon Sep 17 00:00:00 2001
From: Marc Alexander <admin@m-a-styles.de>
Date: Thu, 21 Sep 2023 15:22:33 +0200
Subject: [PATCH] [ticket/17176] Fix debug error handling

PHPBB3-17176
---
 phpBB/phpbb/debug/debug.php | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/phpBB/phpbb/debug/debug.php b/phpBB/phpbb/debug/debug.php
index 7916b7fe44..488ad6356a 100644
--- a/phpBB/phpbb/debug/debug.php
+++ b/phpBB/phpbb/debug/debug.php
@@ -14,7 +14,7 @@
 namespace phpbb\debug;
 
 use Symfony\Component\ErrorHandler\BufferingLogger;
-use Symfony\Component\ErrorHandler\Debug as DebugHandler;
+use Symfony\Component\ErrorHandler\DebugClassLoader;
 use Symfony\Component\ErrorHandler\ErrorHandler;
 
 /**
@@ -37,7 +37,7 @@ class debug
 	 * @param int|null $errorReportingLevel The level of error reporting you want
 	 * @param bool $displayErrors Whether to display errors (for development) or just log them (for production)
 	 */
-	public static function enable(?int $errorReportingLevel = null, bool $displayErrors = true): void
+	public static function enable(int|null $errorReportingLevel = null, bool $displayErrors = true): void
 	{
 		if (static::$enabled)
 		{
@@ -58,7 +58,6 @@ class debug
 		if ('cli' !== php_sapi_name())
 		{
 			ini_set('display_errors', 0);
-			ErrorHandler::register();
 		}
 		else if ($displayErrors && (!ini_get('log_errors') || ini_get('error_log')))
 		{
@@ -68,13 +67,13 @@ class debug
 
 		if ($displayErrors)
 		{
-			error_handler::register(new error_handler(new BufferingLogger()));
+			error_handler::register(new error_handler(new BufferingLogger(), true));
 		}
 		else
 		{
 			error_handler::register()->throwAt(0, true);
 		}
 
-		DebugHandler::enable();
+		DebugClassLoader::enable();
 	}
 }