Skip to content

AOT: Deploy bundle (binary + public assets + phpc.json manifest) #180

@PurHur

Description

@PurHur

Problem

AOT produces a single binary (#59, #106). Web deploys need public/style.css, public/index.php entry, and env config. No packaging story.

Goal

phpc deploy or bin/compile.php --bundle dist/ creates:

dist/
  bin/app          # AOT binary
  public/          # copied assets from manifest
  phpc.json
  README.deploy

Implementation plan

  1. Extend DevEx: phpc.json project manifest (entry, includes, public assets) #106 manifest: public, assets, entry.
  2. Copy non-PHP assets; AOT compile entry; optional CGI wrapper script (Web: CGI/1.1 request driver (stdin/stdout, env, Status line) #50).
  3. Tar/zip output; document running behind nginx + FastCGI (Language: Generators (yield and yield from) #167).

Acceptance criteria

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:toolingTooling / CI / docsarea:webWeb / CGI / superglobalsenhancementNew feature or requestphase-3:aotPhase 3 – AOT deployment

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions