Problem
docs/deploy-web-aot.md (#635) documents phpc deploy layout and CGI for bin/app, but production sites also serve assets/ (CSS) and optionally public/ static files. MiniWebApp relies on /assets/style.css (#594 closed for VM serve; AOT deploy still needs nginx rules).
Contributors are unsure whether static files are served by the native binary, phpc serve, or nginx alias/try_files.
Goal
Extend deployment docs (umbrella #445 or docs/deploy-web-aot.md) with copy-paste nginx snippets:
PHPC_DEPLOY_ROOT + alias for assets/ and public/
- Front controller: only
*.php → CGI/FastCGI to bin/app
- Local smoke:
curl CSS from deployed dist before nginx (file exists)
Scope
Acceptance criteria
Verification (local only)
./phpc deploy examples/002-StaticWeb -o /tmp/static-dist
test -f /tmp/static-dist/README.deploy
# Manual: nginx -t with snippet pasted from doc (not automated)
No GitHub Actions.
Dependencies
Links
Problem
docs/deploy-web-aot.md(#635) documentsphpc deploylayout and CGI forbin/app, but production sites also serveassets/(CSS) and optionallypublic/static files. MiniWebApp relies on/assets/style.css(#594 closed for VM serve; AOT deploy still needs nginx rules).Contributors are unsure whether static files are served by the native binary,
phpc serve, or nginxalias/try_files.Goal
Extend deployment docs (umbrella #445 or
docs/deploy-web-aot.md) with copy-paste nginx snippets:PHPC_DEPLOY_ROOT+aliasforassets/andpublic/*.php→ CGI/FastCGI tobin/appcurlCSS from deployed dist before nginx (file exists)Scope
phpc deploy examples/003-MiniWebApp(assets/style.css, templates not web-exposed)location ^~ /assets/block (marked not CI-tested)Acceptance criteria
examples/003-MiniWebApp/README.mddeploy section002-StaticWebor003-MiniWebAppdist and serve CSS via nginx config without reading sourceVerification (local only)
No GitHub Actions.
Dependencies
phpc deployLinks
examples/003-MiniWebApp/assets/style.csslib/Web/ProjectDeploy.php