Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b292aa2

Browse filesBrowse files
[HttpKernel] Configure the ErrorHandler even when it is overriden
1 parent 10f3b10 commit b292aa2
Copy full SHA for b292aa2

File tree

1 file changed

+20
-1
lines changed
Filter options

1 file changed

+20
-1
lines changed

‎src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php
+20-1Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
*/
3434
class DebugHandlersListener implements EventSubscriberInterface
3535
{
36+
private $earlyHandler;
3637
private $exceptionHandler;
3738
private $logger;
3839
private $levels;
@@ -53,6 +54,10 @@ class DebugHandlersListener implements EventSubscriberInterface
5354
*/
5455
public function __construct(callable $exceptionHandler = null, LoggerInterface $logger = null, $levels = \E_ALL, ?int $throwAt = \E_ALL, bool $scream = true, $fileLinkFormat = null, bool $scope = true)
5556
{
57+
$handler = set_exception_handler('var_dump');
58+
$this->earlyHandler = \is_array($handler) ? $handler[0] : null;
59+
restore_exception_handler();
60+
5661
$this->exceptionHandler = $exceptionHandler;
5762
$this->logger = $logger;
5863
$this->levels = null === $levels ? \E_ALL : $levels;
@@ -73,12 +78,26 @@ public function configure(Event $event = null)
7378
if (!$event instanceof KernelEvent ? !$this->firstCall : !$event->isMasterRequest()) {
7479
return;
7580
}
76-
$this->firstCall = $this->hasTerminatedWithException = false;
7781

7882
$handler = set_exception_handler('var_dump');
7983
$handler = \is_array($handler) ? $handler[0] : null;
8084
restore_exception_handler();
8185

86+
if (!$handler instanceof ErrorHandler && !$handler instanceof LegacyErrorHandler) {
87+
$handler = $this->earlyHandler;
88+
}
89+
90+
if ($handler !== $this->earlyHandler) {
91+
set_exception_handler('var_dump');
92+
try {
93+
$this->configure($event);
94+
} finally {
95+
restore_exception_handler();
96+
}
97+
}
98+
99+
$this->firstCall = $this->hasTerminatedWithException = false;
100+
82101
if ($this->logger || null !== $this->throwAt) {
83102
if ($handler instanceof ErrorHandler || $handler instanceof LegacyErrorHandler) {
84103
if ($this->logger) {

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.