Category
bootstrap / release gate (#78 v1.1.0) · web runtime
Problem
script/examples-web-smoke.sh exercises HTTP loopback against compiled/JIT web examples. Must be green before v1.1.0 user release (#9224).
php-src reference
N/A (integration). Underlying gaps are usually ext/standard HTTP/header/session parity (ext/standard/http.c, ext/session).
Repro
./script/docker-exec.sh -- bash -lc './script/examples-web-smoke.sh'
Requires loopback TCP (do not set PHP_COMPILER_SKIP_SERVE_TESTS=1 for local CI).
What the gate covers
- Spins example apps from
examples/001-SimpleWeb, 003-MiniWebApp, 005-SessionsWeb, etc.
- Asserts HTTP status + body needles (see script for per-example URLs)
- Fails fast on: bind errors, empty response, wrong
Content-Type, session cookie missing
Debug one example
./script/docker-exec.sh -- bash -lc 'EXAMPLES_WEB_SMOKE_ONLY=003 ./script/examples-web-smoke.sh'
Scope (this repo)
lib/Web/ CGI/FCGI runtime
examples/00*/ + phpc.json web entrypoints
- Stdlib:
header(), http_response_code(), session_start(), superglobals refresh
Done when
Context
Pairs with #9225 AOT smoke. Release blocker chain: #9224 → #9225 + #9226 → #78.
Category
bootstrap/ release gate (#78 v1.1.0) · web runtimeProblem
script/examples-web-smoke.shexercises HTTP loopback against compiled/JIT web examples. Must be green before v1.1.0 user release (#9224).php-src reference
N/A (integration). Underlying gaps are usually
ext/standardHTTP/header/session parity (ext/standard/http.c,ext/session).Repro
./script/docker-exec.sh -- bash -lc './script/examples-web-smoke.sh'Requires loopback TCP (do not set
PHP_COMPILER_SKIP_SERVE_TESTS=1for local CI).What the gate covers
examples/001-SimpleWeb,003-MiniWebApp,005-SessionsWeb, etc.Content-Type, session cookie missingDebug one example
./script/docker-exec.sh -- bash -lc 'EXAMPLES_WEB_SMOKE_ONLY=003 ./script/examples-web-smoke.sh'Scope (this repo)
lib/Web/CGI/FCGI runtimeexamples/00*/+phpc.jsonweb entrypointsheader(),http_response_code(),session_start(), superglobals refreshDone when
./script/examples-web-smoke.shgreen inside docker-exec onmaster.cursor/rules/local-ci-only.mdcContext
Pairs with #9225 AOT smoke. Release blocker chain: #9224 → #9225 + #9226 → #78.