Skip to content

Stdlib: withhold ext/zip unless host or ENABLE (#25010) - #25040

Merged
PurHur merged 1 commit into
masterfrom
fix/25010-zip-phantom-host-gate
Jul 29, 2026
Merged

Stdlib: withhold ext/zip unless host or ENABLE (#25010)#25040
PurHur merged 1 commit into
masterfrom
fix/25010-zip-phantom-host-gate

Conversation

@PurHur

@PurHur PurHur commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Gate extension_loaded('zip') / ZipArchive / zip_* on host extension_loaded('zip') or explicit PHP_COMPILER_ENABLE_ZIP=1 — not PROFILE=8.4 alone.
  • Functional zip PHPTs and unit tests opt in via ENABLE; PROFILE=8.4 phantom compliance added.

Closes #25010

Test plan

  • Zend / VM default / PROFILE=8.4 all false; ENABLE=1 true on test/repro/maintainer_gap_zip_phantom.php
  • vendor/bin/phpunit --filter 'VMTest.*extension_loaded_zip_phantom|ZipExtensionPolicyTest|ZipModuleTest|ziparchive_forward_profile|zip_procedural_basic' → OK (10)

php-src ref: ext/zip/php_zip.c. PHP impl: ext/zip/ZipExtensionPolicy.php.

Made with Cursor

PROFILE=8.4 must not invent zip/ZipArchive/zip_open when host Zend lacks
ext/zip. Functional PHPTs opt in via PHP_COMPILER_ENABLE_ZIP=1.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Regression: extension_loaded('zip')/ZipArchive/zip_open phantom under PROFILE=8.4 — Zend ext/zip absent (re-#18137, ext/zip)

1 participant