Minimal multi-request fixture for phpc deploy + future FastCGI adapter (#173). Tracks #2331.
| Route | Response |
|---|---|
GET /example.php (empty PATH_INFO) |
ok (health) |
GET /example.php/... (non-empty PATH_INFO) |
Plain-text REQUEST_URI, SCRIPT_NAME, PATH_INFO |
./phpc init --profile fastcgiweb /tmp/my-fastcgiweb
./phpc lint /tmp/my-fastcgiweb/example.phpTemplate parity: ./script/check-init-fastcgiweb-parity.sh (#2342).
./phpc lint examples/009-FastCGIWeb/example.php
./phpc run examples/009-FastCGIWeb/example.php
./phpc serve 127.0.0.1:8080 examples/009-FastCGIWeb
curl -s http://127.0.0.1:8080/example.php
curl -s http://127.0.0.1:8080/example.php/pingLong-lived TCP listener (adapter #173, CLI #2427):
./phpc fcgi --help
./phpc fcgi --project examples/009-FastCGIWeb
# optional AOT after build:
./phpc build --project examples/009-FastCGIWeb
./phpc fcgi --project examples/009-FastCGIWebPoint nginx fastcgi_pass at 127.0.0.1:9000 (or your --listen address). Deploy bundle notes: docs/deploy-production.md (#445).
cd examples/009-FastCGIWeb
../../phpc build --project .
QUERY_STRING= REQUEST_URI=/example.php SCRIPT_NAME=/example.php ./.phpc/bin/app
../../phpc deploy --project . /tmp/fastcgiweb-distProduction nginx + PHPC_DEPLOY_ROOT: docs/deploy-production.md (#445). Long-lived FastCGI loop: #173.
| Layer | Notes |
|---|---|
VM phpc run |
✅ health ok |
VM phpc serve |
✅ health + /ping diagnostics |
AOT phpc build --project |
✅ when LLVM ready (ExamplesCompileTest) |
| AOT CGI execute | ✅ default-on FASTCGI_WEB_AOT_SMOKE_GATE=1 (#2352, #2369); EXAMPLES_AOT_SMOKE_ONLY=009 ./script/examples-aot-smoke.sh |
| Deploy CGI smoke | ✅ opt-in FASTCGI_WEB_DEPLOY_SMOKE_GATE=1 (#2359); make examples-fastcgiweb-deploy-smoke |
| FastCGI adapter execute | ✅ phpc fcgi --project . (#173, #2427); FASTCGI_SMOKE_GATE=1 for PHPUnit |
| CI serve smoke | ✅ default-on FASTCGI_WEB_SMOKE_GATE=1 (#2351, #2369); make examples-fastcgiweb-smoke |
- #635 —
phpc deploy - #173 — FastCGI request loop
- examples/README.md — shipped ladder