Category
Stdlib · php-src-strict · AOT lowering
Problem
get_headers() matches Zend on VM/JIT (false for a refused loopback connection under @). AOT compile aborts with Current basic block has no parent function.
| Repro |
Zend / VM / JIT (2026-08-03) |
AOT |
@get_headers('http://127.0.0.1:1/') === false |
true |
compile fails |
php-src reference
PHP implementation target
- Fix AOT/JIT CFG parenting for
get_headers lowering in ext/standard / lib/JIT (php-in-PHP helpers; no new C runtime logic)
- Keep VM/JIT behavior unchanged
Repro
./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_aot_get_headers.php'
./script/docker-exec.sh -- bash -lc 'php bin/jit.php test/repro/maintainer_gap_aot_get_headers.php'
./script/docker-exec.sh -- bash -lc 'php bin/compile.php test/repro/maintainer_gap_aot_get_headers.php -o /tmp/get_headers_aot'
AOT symptom:
Current basic block has no parent function
Done when
Category
Stdlib· php-src-strict · AOT loweringProblem
get_headers()matches Zend on VM/JIT (falsefor a refused loopback connection under@). AOT compile aborts withCurrent basic block has no parent function.@get_headers('http://127.0.0.1:1/') === falsetruephp-src reference
ext/standard/head.c—PHP_FUNCTION(get_headers)PHP implementation target
get_headerslowering inext/standard/lib/JIT(php-in-PHP helpers; no new C runtime logic)Repro
AOT symptom:
Done when
true(same as Zend/VM/JIT for this refused-connection case)test/compliance/cases/stdlib/ortest/fixtures/aot/