- Remove init() + findOrCreatePHPCmd from cmd_serve_frankenphp.go
- Use registerFrankenPHP hook pattern for CGO-conditional registration
- Rename env.go Environment → RuntimeEnvironment to avoid collision
- Add cgo build tag to handler.go and env.go
CGO build (21MB): all dev commands + serve:embedded + exec
Non-CGO build (16MB): dev commands only (shell out to system PHP)
Co-Authored-By: Virgil <virgil@lethean.io>
Combines FrankenPHP handler package with PHP dev CLI commands
(build, deploy, QA, dev server, etc) from core/php. This frees
the core/php namespace for the Laravel PHP framework rename.
Co-Authored-By: Virgil <virgil@lethean.io>
Uses reusable workflows from core/go-devops for Go testing
(with race detector and coverage) and security scanning
(govulncheck, gitleaks, trivy).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extracted from host-uk/core/cmd/core-app/ into a reusable package.
Provides:
- Handler: http.Handler serving PHP via in-process FrankenPHP
- Extract: embed.FS to temp dir extraction for PHP runtime
- PrepareEnvironment: .env, SQLite, persistent storage setup
- Bridge: localhost HTTP API for PHP → Go communication
Requires CGo + PHP headers. Build with: -tags nowatcher
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>