From 0a8166e4a21a2aca37e5f68a742af7750e9527a4 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Sat, 19 Nov 2022 17:56:49 +0000
Subject: [PATCH] Custom warning handler that dumps stack trace

---
 docker/wp-config.php | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/docker/wp-config.php b/docker/wp-config.php
index 72a27bf3..b51d616d 100644
--- a/docker/wp-config.php
+++ b/docker/wp-config.php
@@ -181,6 +181,19 @@ if (array_key_exists('debug_cookie_name', $noblogs_config) &&
         define('WP_DEBUG', true);
         define('WP_DEBUG_LOG', true);
         define('WP_DEBUG_DISPLAY', false);
+
+    // Warning handler that dumps stack traces.
+    class WarningWithStacktrace extends ErrorException {}
+    set_error_handler(function($severity, $message, $file, $line) {
+        if ($severity & (E_WARNING | E_NOTICE | E_USER_WARNING | E_USER_NOTICE)) {
+            $ex = new WarningWithStacktrace($message, 0, $severity, $file, $line);
+            echo "\n" . $ex . "\n\n";
+            return true;
+        } else {
+            throw new ErrorException($message, 0, $severity, $file, $line);
+        }
+    });
+
 } else {
     define('WP_DEBUG', false);
 }
-- 
GitLab