From b3c23da52f4e2e8a28581b7e397f1131a46b9c9a Mon Sep 17 00:00:00 2001 From: Kairat Jenishev Date: Sun, 8 Dec 2024 23:34:05 +0600 Subject: [PATCH] Append additional (error) message only if `error_get_last()` returns non-null value #20294 --- framework/caching/FileCache.php | 15 +++++++-------- framework/log/FileTarget.php | 5 +++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/framework/caching/FileCache.php b/framework/caching/FileCache.php index cc6092b3f2..bdca7789b1 100644 --- a/framework/caching/FileCache.php +++ b/framework/caching/FileCache.php @@ -159,10 +159,7 @@ class FileCache extends Cache } $message = "Unable to write cache file '{$cacheFile}'"; - - if ($error = error_get_last()) { - $message .= ": {$error['message']}"; - } + ($error = error_get_last()) and $message .= ": {$error['message']}"; Yii::warning($message, __METHOD__); @@ -271,20 +268,22 @@ class FileCache extends Cache continue; } $fullPath = $path . DIRECTORY_SEPARATOR . $file; + $message = null; if (is_dir($fullPath)) { $this->gcRecursive($fullPath, $expiredOnly); if (!$expiredOnly) { if (!@rmdir($fullPath)) { - $error = error_get_last(); - Yii::warning("Unable to remove directory '{$fullPath}': {$error['message']}", __METHOD__); + $message = "Unable to remove directory '$fullPath'"; + ($error = error_get_last()) and $message .= ": {$error['message']}"; } } } elseif (!$expiredOnly || $expiredOnly && @filemtime($fullPath) < time()) { if (!@unlink($fullPath)) { - $error = error_get_last(); - Yii::warning("Unable to remove file '{$fullPath}': {$error['message']}", __METHOD__); + $message = "Unable to remove file '$fullPath'"; + ($error = error_get_last()) and $message .= ": {$error['message']}"; } } + $message and Yii::warning($message, __METHOD__); } closedir($handle); } diff --git a/framework/log/FileTarget.php b/framework/log/FileTarget.php index d4c267e2ed..b68da96562 100644 --- a/framework/log/FileTarget.php +++ b/framework/log/FileTarget.php @@ -131,8 +131,9 @@ class FileTarget extends Target } $writeResult = @fwrite($fp, $text); if ($writeResult === false) { - $error = error_get_last(); - throw new LogRuntimeException("Unable to export log through file ({$this->logFile})!: {$error['message']}"); + $message = "Unable to export log through file ($this->logFile)!"; + ($error = error_get_last()) and $message .= ": {$error['message']}"; + throw new LogRuntimeException($message); } $textSize = strlen($text); if ($writeResult < $textSize) {