From 8a7cf24b70a85d5772cb36d49f19d9559cd2d9ec Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Thu, 16 Jul 2026 14:07:50 +0800 Subject: [PATCH] Apply phpmicro phar patch changes in feat/pgo-v3 --- src/StaticPHP/Util/SourcePatcher.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/StaticPHP/Util/SourcePatcher.php b/src/StaticPHP/Util/SourcePatcher.php index 98fee7ec..430a44ed 100644 --- a/src/StaticPHP/Util/SourcePatcher.php +++ b/src/StaticPHP/Util/SourcePatcher.php @@ -173,6 +173,9 @@ class SourcePatcher */ public static function patchMicroPhar(int $version_id): void { + if (file_exists(SOURCE_PATH . '/php-src/ext/phar/phar.c.bak')) { + return; + } FileSystem::backupFile(SOURCE_PATH . '/php-src/ext/phar/phar.c'); FileSystem::replaceFileStr( SOURCE_PATH . '/php-src/ext/phar/phar.c', @@ -198,6 +201,12 @@ class SourcePatcher public static function unpatchMicroPhar(): void { + // Tolerate a missing .bak: both drivers call this, and the first restore + // consumes the backup. Without this guard the second call throws + // "Cannot find bak file". No .bak means the source is already pristine. + if (!file_exists(SOURCE_PATH . '/php-src/ext/phar/phar.c.bak')) { + return; + } FileSystem::restoreBackupFile(SOURCE_PATH . '/php-src/ext/phar/phar.c'); }