Skip to content

AOT: ZipArchive addFile/replaceFile keep file bytes after close/reopen (#35449/#35496) - #35714

Merged
PurHur merged 1 commit into
masterfrom
fix/ziparchive-addfile-replacefile-aot-exec-alias
Aug 29, 2026
Merged

AOT: ZipArchive addFile/replaceFile keep file bytes after close/reopen (#35449/#35496)#35714
PurHur merged 1 commit into
masterfrom
fix/ziparchive-addfile-replacefile-aot-exec-alias

Conversation

@PurHur

@PurHur PurHur commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

php-src: ext/zip/php_zip.czim_ZipArchive_addFile, zim_ZipArchive_replaceFile

Test plan

./script/aot-smoke.sh
# aot-smoke: 8 passed, 0 failed

./script/phpunit.sh --filter 'ZipArchiveAddFile35449AotTest|ZipArchiveReplaceFile35496AotTest'
# OK (4 tests, 18 assertions)

export PHP_COMPILER_ENABLE_ZIP=1
./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/ziparchive_addfile_status_aot.php'
./script/docker-exec.sh -- bash -lc 'php bin/compile.php -o /tmp/z.bin test/repro/ziparchive_addfile_status_aot.php && /tmp/z.bin'
# VM and AOT both print from-file after reopen

Reopens #35449, #35496

Made with Cursor

…d NestedJIT helpers (#35449/#35496).

Peer #35710 addEntry — exec() $s2 formal aliasing under thin AOT dropped file_get_contents payloads, leaving empty zip entries after close/reopen.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 9d98d93 into master Aug 29, 2026
1 check failed
@PurHur
PurHur deleted the fix/ziparchive-addfile-replacefile-aot-exec-alias branch August 29, 2026 09:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant