From e8c67f264486a7b2a41eedf6cebca8506ac628d7 Mon Sep 17 00:00:00 2001 From: Ilya Nekrasov Date: Thu, 19 May 2022 15:37:12 +0300 Subject: [PATCH 1/3] Delay exit in error handler --- framework/base/ErrorHandler.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/framework/base/ErrorHandler.php b/framework/base/ErrorHandler.php index 414cd881e70..418bd80fa81 100644 --- a/framework/base/ErrorHandler.php +++ b/framework/base/ErrorHandler.php @@ -292,7 +292,11 @@ public function handleFatalError() if (defined('HHVM_VERSION')) { flush(); } - exit(1); + + register_shutdown_function(function() { + exit(1); + }); + } } From e587b9665057278fd9d1fd2d6c22c0df61fcac00 Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Wed, 1 Jun 2022 11:27:57 +0300 Subject: [PATCH 2/3] Update ErrorHandler.php --- framework/base/ErrorHandler.php | 1 + 1 file changed, 1 insertion(+) diff --git a/framework/base/ErrorHandler.php b/framework/base/ErrorHandler.php index cd2215b3806..04dfbb8d8e4 100644 --- a/framework/base/ErrorHandler.php +++ b/framework/base/ErrorHandler.php @@ -321,6 +321,7 @@ public function handleFatalError() $this->trigger(static::EVENT_SHUTDOWN); + // ensure it is called after user-defined shutdown functions register_shutdown_function(function() { exit(1); }); From bc7c81911267131192882fe47916414073287ac6 Mon Sep 17 00:00:00 2001 From: Ilya Nekrasov Date: Thu, 2 Jun 2022 00:09:50 +0300 Subject: [PATCH 3/3] Add changelog --- framework/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 981712eca09..258502cb033 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -28,6 +28,7 @@ Yii Framework 2 Change Log - Bug #19368: Fix PHP 8.1 error when `$fileMimeType` is `null` in `yii\validators\FileValidator::validateMimeType()` (bizley) - Enh #19384: Normalize `setBodyParams()` and `getBodyParam()` in `yii\web\Request` (WinterSilence, albertborsos) - Bug #19386: Fix recursive calling `yii\helpers\BaseArrayHelper::htmlDecode()` (WinterSilence) +- Enh #19401: Delay `exit(1)` in `yii\base\ErrorHandler::handleFatalError` (arrilot) - Bug #19402: Add shutdown event and fix working directory in `yii\base\ErrorHandler` (WinterSilence) - Enh #19416: Update and improve configurations for `yii\console\controllers\MessageController` (WinterSilence) - Bug #19403: Fix types in `yii\web\SessionIterator` (WinterSilence)