Problem
#665 ✅ added bin/cgi-aot.php, phpc cgi, deploy cgi-wrapper, and CgiDriverTest AOT smoke for 001-SimpleWeb only. #666 ✅ covers 003-MiniWebApp PATH_INFO routes via VM bin/cgi.php.
Production nginx deploys will run the native bin/app behind cgi-wrapper with PHPC_DEPLOY_ROOT — there is no gate that MiniWebApp PATH_INFO routes work under AOT CGI (distinct from #478 phpc serve --aot TCP path).
Goal
Extend test/real/CgiDriverTest.php (@group llvm, @group aot-link, @group miniwebapp):
phpc build --project examples/003-MiniWebApp → bin/app
phpc deploy -o $dist (or copy cgi-wrapper + binary)
PHPC_DEPLOY_ROOT=$dist + PATH_INFO env → home, /hello, /api/status needles
While blocked: markTestSkipped linking #568 / #676 step 6.
Implementation hints
| Piece |
File |
Notes |
| Pattern |
testMiniWebAppHomeViaCgiDriver |
Reuse miniWebAppBaseEnv() PATH_INFO keys |
| Build |
compileAotBinary helper |
Same as testSimpleWebGetViaAotCgiWrapper |
| Wrapper |
bin/cgi-aot.sh copied to dist |
Mirror testDeployCgiWrapperRunsSimpleWebBinary |
| CI |
script/ci-local.sh |
Already runs CgiDriverTest in fast + full gates |
Acceptance criteria
./script/ci-local.sh --filter 'CgiDriverTest::testMiniWebApp.*Aot'
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
./script/ci-local.sh --filter 'CgiDriverTest::testMiniWebApp.*Aot'
When #568 lands: tests execute (not skipped) and pass.
Dependencies
Verification
Local/Docker only — not GitHub Actions.
Links
Problem
#665 ✅ added
bin/cgi-aot.php,phpc cgi, deploycgi-wrapper, andCgiDriverTestAOT smoke for 001-SimpleWeb only. #666 ✅ covers 003-MiniWebApp PATH_INFO routes via VMbin/cgi.php.Production nginx deploys will run the native
bin/appbehindcgi-wrapperwithPHPC_DEPLOY_ROOT— there is no gate that MiniWebApp PATH_INFO routes work under AOT CGI (distinct from #478phpc serve --aotTCP path).Goal
Extend
test/real/CgiDriverTest.php(@group llvm,@group aot-link,@group miniwebapp):phpc build --project examples/003-MiniWebApp→bin/appphpc deploy -o $dist(or copycgi-wrapper+ binary)PHPC_DEPLOY_ROOT=$dist+ PATH_INFO env → home,/hello,/api/statusneedlesWhile blocked:
markTestSkippedlinking #568 / #676 step 6.Implementation hints
testMiniWebAppHomeViaCgiDriverminiWebAppBaseEnv()PATH_INFO keyscompileAotBinaryhelpertestSimpleWebGetViaAotCgiWrapperbin/cgi-aot.shcopied to disttestDeployCgiWrapperRunsSimpleWebBinaryscript/ci-local.shCgiDriverTestin fast + full gatesAcceptance criteria
When #568 lands: tests execute (not skipped) and pass.
Dependencies
Routerphpc deploydist layoutVerification
Local/Docker only — not GitHub Actions.
Links
test/real/CgiDriverTest.php,docs/deploy-web-aot.md