mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
[ticket/17176] Combine error handler with exception handling/msg_handler()
PHPBB3-17176
This commit is contained in:
@@ -65,15 +65,8 @@ class debug
|
||||
ini_set('display_errors', 1);
|
||||
}
|
||||
|
||||
if ($displayErrors)
|
||||
{
|
||||
error_handler::register(new error_handler(new BufferingLogger(), true));
|
||||
}
|
||||
else
|
||||
{
|
||||
error_handler::register()->throwAt(0, true);
|
||||
}
|
||||
|
||||
DebugClassLoader::enable();
|
||||
|
||||
error_handler::register(new error_handler(new BufferingLogger(), $displayErrors));
|
||||
}
|
||||
}
|
||||
|
@@ -13,6 +13,7 @@
|
||||
|
||||
namespace phpbb\debug;
|
||||
|
||||
use Symfony\Component\ErrorHandler\BufferingLogger;
|
||||
use Symfony\Component\ErrorHandler\ErrorHandler;
|
||||
|
||||
/**
|
||||
@@ -20,16 +21,21 @@ use Symfony\Component\ErrorHandler\ErrorHandler;
|
||||
*/
|
||||
class error_handler extends ErrorHandler
|
||||
{
|
||||
public function __construct(BufferingLogger $bootstrappingLogger = null, private bool $debug = false)
|
||||
{
|
||||
parent::__construct($bootstrappingLogger, $debug);
|
||||
}
|
||||
|
||||
/**
|
||||
* @psalm-suppress MethodSignatureMismatch
|
||||
*/
|
||||
public function handleError(int $type, string $message, string $file, int $line): bool
|
||||
{
|
||||
if ($type === E_USER_WARNING || $type === E_USER_NOTICE)
|
||||
if (!$this->debug)
|
||||
{
|
||||
$handler = defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler';
|
||||
|
||||
$handler($type, $message, $file, $line);
|
||||
return $handler($type, $message, $file, $line);
|
||||
}
|
||||
|
||||
return parent::handleError($type, $message, $file, $line);
|
||||
|
Reference in New Issue
Block a user