Apply phpmicro phar patch changes in feat/pgo-v3

This commit is contained in:
crazywhalecc
2026-07-16 14:07:50 +08:00
parent 0f92692f4e
commit 8a7cf24b70

View File

@@ -173,6 +173,9 @@ class SourcePatcher
*/ */
public static function patchMicroPhar(int $version_id): void 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::backupFile(SOURCE_PATH . '/php-src/ext/phar/phar.c');
FileSystem::replaceFileStr( FileSystem::replaceFileStr(
SOURCE_PATH . '/php-src/ext/phar/phar.c', SOURCE_PATH . '/php-src/ext/phar/phar.c',
@@ -198,6 +201,12 @@ class SourcePatcher
public static function unpatchMicroPhar(): void 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'); FileSystem::restoreBackupFile(SOURCE_PATH . '/php-src/ext/phar/phar.c');
} }