From ab0033542b43a6931cd196120ca80ee3e95f544f Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Wed, 17 Dec 2014 00:38:38 +0300 Subject: [PATCH] Fixes #6247: Logger and error handler are now using slightly less memory --- framework/CHANGELOG.md | 3 ++- framework/base/ErrorHandler.php | 2 +- framework/log/Logger.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 392355c39d..17ee1db8df 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -5,8 +5,9 @@ Yii Framework 2 Change Log ----------------------- - Bug #6404: advanced application template `Alert` widget was generating duplicate IDs in case of multiple flashes (SDKiller) +- Enh #6247: Logger and error handler are now using slightly less memory (stepanselyuk, samdark) - Enh #6434: Added `yii\behaviors\SluggableBehavior::immutable` to support keeping the generated slug unchanged (trntv) -- Enh #6467: `ActiveForm` will scroll to the nearest visible element when the first error input is hidden (newartix) +- Enh #6467: `ActiveForm` will scroll to the nearest visible element when the first error input is hidden (newartix) 2.0.1 December 07, 2014 ----------------------- diff --git a/framework/base/ErrorHandler.php b/framework/base/ErrorHandler.php index d6b33cd3f6..a7e659b78b 100644 --- a/framework/base/ErrorHandler.php +++ b/framework/base/ErrorHandler.php @@ -140,7 +140,7 @@ abstract class ErrorHandler extends Component $exception = new ErrorException($message, $code, $code, $file, $line); // in case error appeared in __toString method we can't throw any exception - $trace = debug_backtrace(0); + $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); array_shift($trace); foreach ($trace as $frame) { if ($frame['function'] == '__toString') { diff --git a/framework/log/Logger.php b/framework/log/Logger.php index f5cb4af841..aeb5fef5b4 100644 --- a/framework/log/Logger.php +++ b/framework/log/Logger.php @@ -138,7 +138,7 @@ class Logger extends Component $traces = []; if ($this->traceLevel > 0) { $count = 0; - $ts = debug_backtrace(); + $ts = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); array_pop($ts); // remove the last trace since it would be the entry script, not very useful foreach ($ts as $trace) { if (isset($trace['file'], $trace['line']) && strpos($trace['file'], YII2_PATH) !== 0) {