Skip to content

DevEx: phpc serve --aot with runtime superglobal refresh#215

Merged
PurHur merged 1 commit into
masterfrom
issue-213-phpc-serve-aot
May 18, 2026
Merged

DevEx: phpc serve --aot with runtime superglobal refresh#215
PurHur merged 1 commit into
masterfrom
issue-213-phpc-serve-aot

Conversation

@PurHur
Copy link
Copy Markdown
Owner

@PurHur PurHur commented May 18, 2026

Summary

Test plan

  • phpunit non-LLVM suite (VM, compliance, ServeTest, PhpcCliTest)
  • LLVM group: RuntimeSuperglobalRefreshTest, ServeAotTest (when LLVM 9 + FFI available)
  • Manual: phpc build -o .phpc/bin/app examples/001-SimpleWeb/example.php && phpc serve --aot examples/001-SimpleWeb

Closes #213
Closes #201

Made with Cursor

Developers can serve a precompiled CGI binary with static docroot assets
via `phpc serve --aot`, with binary resolution from phpc.json or defaults.
AOT executables now call __superglobals__refresh() each run so QUERY_STRING
and related env drive $_GET/$_SERVER without recompiling (issue #201).

Closes #213. Implements #201.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur PurHur merged commit e05c8a8 into master May 18, 2026
@PurHur PurHur deleted the issue-213-phpc-serve-aot branch May 18, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DevEx: phpc serve --aot runs precompiled CGI binary per project AOT: Per-request superglobal refresh in native binary (not compile-time bake)

1 participant