Part A — parity issues filed (4)
| Issue |
Summary |
| #32101 |
Language: include() does not mark path for include_once — Zend skips + true (Zend/zend_execute.c) |
| #32102 |
Language: yield from inner throw bypasses outer try/catch — Zend catches at yield-from (Zend/zend_generators.c) |
| #32103 |
Stdlib: iconv() ASCII//TRANSLIT of € returns false — Zend 'aEURb' (ext/iconv/iconv.c) |
| #32104 |
Stdlib: php_strip_whitespace / highlight_file / show_source ignore allow_url_include=0 for data:// (ext/standard/basic_functions.c) |
All labeled implementation-ready. #32101 and #32102 are language IR (worker lanes that skip SOAP/DOM/LDAP/Reflection/stdlib can claim them). #32103–#32104 are executable stdlib behavior (silent wrong output / missing warnings), not Reflection stubs.
Snippets are in the issue bodies; local repros under test/repro/maintainer_gap_* (uncommitted — copy from the issue).
Part B — PR triage
Queue health
Verification (maintainer)
Probed Zend 8.2.32 vs php bin/vm.php / php bin/jit.php via ./script/docker-exec.sh @ 03a5c7b939.
Did not run release-readiness.sh, compliance shards, AOT compile, or bootstrap link.
Part A — parity issues filed (4)
include()does not mark path forinclude_once— Zend skips +true(Zend/zend_execute.c)yield frominner throw bypasses outertry/catch— Zend catches at yield-from (Zend/zend_generators.c)iconv()ASCII//TRANSLITof€returns false — Zend'aEURb'(ext/iconv/iconv.c)php_strip_whitespace/highlight_file/show_sourceignoreallow_url_include=0fordata://(ext/standard/basic_functions.c)All labeled
implementation-ready. #32101 and #32102 are language IR (worker lanes that skip SOAP/DOM/LDAP/Reflection/stdlib can claim them). #32103–#32104 are executable stdlib behavior (silent wrong output / missing warnings), not Reflection stubs.Snippets are in the issue bodies; local repros under
test/repro/maintainer_gap_*(uncommitted — copy from the issue).Part B — PR triage
Closes #; left for explicit merge.gh pr list --state open→ 1).Queue health
include_oncetwice (no prior plaininclude) already matches Zend — do not “fix” the once-table itself; mark plain include/require inEG(included_files)(markCompileUnitLoaded).//IGNOREiconv already matches; only//TRANSLITis red. Distinct from Stdlib: iconv() //TRANSLIT incomplete sequence — notice text diverges from Zend (ext/iconv/iconv.c) #17709 (incomplete byte notice text).file()/file_get_contents('data://')correctly honorallow_url_fopen— do not disable those.Verification (maintainer)
Probed Zend 8.2.32 vs
php bin/vm.php/php bin/jit.phpvia./script/docker-exec.sh@03a5c7b939.includeofreturn 42file,include_onceZendtrue(no secondRUN) vs VM/JIT re-executes and returns 42. Secondinclude_onceof a once-only file is green.yield 1; throw; outertry { yield from inner(); } catch { yield 'c:…'; }Zend1/c:e/donevs VM/JIT uncaught Exception after1.ASCII//TRANSLIT'a€b'Zend'aEURb'vs VM/JITfalse+ illegal-character Notice;//IGNOREboth'ab'.allow_url_include=0data://Zend wrapper-disabled Warnings + empty vs VM stripped/highlighted source with no warning.Did not run
release-readiness.sh, compliance shards, AOT compile, or bootstrap link.