Files
iTop/lib/symfony/runtime/Internal/SymfonyErrorHandler.php
Benjamin Dalsass bb8a09d8e2 N°8637 - Alerts from dependabot, vulnerable libraries
* Update twig/twig from 3.16.0 to 3.21.1

* Update tecnickcom/tcpdf from 6.7.5 to 6.10.0

* Correct font folder case failing on linux server

* Suppress documentation generator from project in favor of the online version

* Update symfony/http-foundation from 6.4.2 to 6.4.14
Update symfony/runtime from 6.4.0 to 6.4.24
2025-09-09 16:15:21 +02:00

55 lines
1.5 KiB
PHP

<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Runtime\Internal;
use Symfony\Component\ErrorHandler\BufferingLogger;
use Symfony\Component\ErrorHandler\DebugClassLoader;
use Symfony\Component\ErrorHandler\ErrorHandler;
/**
* @author Nicolas Grekas <p@tchwork.com>
*
* @internal
*/
class SymfonyErrorHandler
{
public static function register(bool $debug): void
{
if (!class_exists(ErrorHandler::class)) {
BasicErrorHandler::register($debug);
return;
}
error_reporting(\E_ALL & ~\E_DEPRECATED & ~\E_USER_DEPRECATED);
if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
ini_set('display_errors', $debug);
} elseif (!filter_var(\ini_get('log_errors'), \FILTER_VALIDATE_BOOL) || \ini_get('error_log')) {
// CLI - display errors only if they're not already logged to STDERR
ini_set('display_errors', 1);
}
if (0 <= \ini_get('zend.assertions')) {
ini_set('zend.assertions', (int) $debug);
}
ini_set('assert.active', 1);
ini_set('assert.exception', 1);
if ($debug) {
DebugClassLoader::enable();
}
ErrorHandler::register(new ErrorHandler(new BufferingLogger(), $debug));
}
}