Problem
#276 (closed) added VM ServeTest coverage for /index.php/hello → PATH_INFO=/hello via bin/serve.php.
test/real/ServeAotTest.php has no PATH_INFO case for phpc serve --aot. Front-controller routing for compiled binaries (#210, #67) can regress in bin/serve-aot.php env mapping without failing CI.
Goal
Mirror #276 under AOT serve:
- Build a minimal fixture (or reuse inline docroot) with
public/index.php reading $_SERVER['PATH_INFO']
phpc serve --aot 127.0.0.1:<port> <project>
GET /index.php/hello → 200 + body contains expected route output
- Assert
SCRIPT_NAME / PATH_INFO in response or via debug header (same assertions as VM test)
Scope
Acceptance criteria
make docker-build-22
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
./script/ci-local.sh --filter ServeAotTest
includes PATH_INFO case when serve tests run.
Verification (local / Docker only)
No .github/workflows/* changes.
Dependencies
Related
Problem
#276 (closed) added VM
ServeTestcoverage for/index.php/hello→PATH_INFO=/helloviabin/serve.php.test/real/ServeAotTest.phphas no PATH_INFO case forphpc serve --aot. Front-controller routing for compiled binaries (#210, #67) can regress inbin/serve-aot.phpenv mapping without failing CI.Goal
Mirror #276 under AOT serve:
public/index.phpreading$_SERVER['PATH_INFO']phpc serve --aot 127.0.0.1:<port> <project>GET /index.php/hello→200+ body contains expected route outputSCRIPT_NAME/PATH_INFOin response or via debug header (same assertions as VM test)Scope
ServeAotTestor addServeAotPathInfoTest.php@group llvm+@group servePHP_COMPILER_SKIP_SERVE_TESTS=1or loopback bind failsAcceptance criteria
make docker-build-22 docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \ ./script/ci-local.sh --filter ServeAotTestincludes PATH_INFO case when serve tests run.
Verification (local / Docker only)
No
.github/workflows/*changes.Dependencies
phpc serve --aot(closed)publicdocroot resolution (closed)Related