waaseyaa/frankenphp
Composer 安装命令:
composer require waaseyaa/frankenphp
包简介
Optional FrankenPHP dev-runtime for Waaseyaa — auto-installs the FrankenPHP binary and serves the app via `waaseyaa dev` (the Laravel Octane model). Not part of core/cms/full; default-installed in the skeleton.
README 文档
README
Optional FrankenPHP dev-runtime for Waaseyaa — the Laravel Octane model. It
adds two console commands and nothing else; the framework core stays
runtime-agnostic (no FrankenPHP coupling), and the runtime-agnostic
waaseyaa serve (plain php -S) remains the zero-dependency fallback in core.
This package is not part of waaseyaa/core/cms/full. It ships in the
whole-monorepo waaseyaa/framework meta, so the skeleton serves with
composer run dev out of the box; apps on the curated metapackages opt in with
composer require waaseyaa/frankenphp.
Commands
frankenphp:install
Downloads the correct FrankenPHP binary for the current OS/arch from the official
php/frankenphp releases into the project's
managed path (vendor/bin/), idempotently. After this the binary's location is
never the operator's problem.
- Per-OS/arch asset selection (Linux
x86_64/aarch64, macOSarm64/x86_64, Windowsx86_64), pinned to a known-good version (defaultv1.12.4; override with--frankenphp-versionorFRANKENPHP_VERSION). - Verifies the download's sha256 against the GitHub release digest when available.
- Windows: the release is a full PHP-for-Windows SDK zip — the whole archive
is extracted into
vendor/bin/frankenphp-dist/sofrankenphp.exefinds its sibling DLLs. POSIX: a bare binary with the executable bit set. - Extraction uses ext-zip when present, else
tar(Windows 10+ / macOS / Linux). Pure PHP, no shell.
dev
Serves the app with FrankenPHP in the foreground:
frankenphp php-server --root public --listen 127.0.0.1:8080
Resolution order: FRANKENPHP_BIN → the managed install → known per-OS locations
→ frankenphp on PATH → otherwise it prints the one fix (frankenphp:install)
and, when interactive, offers to run it. It execs the binary by absolute path
with no shell (proc_open array form, inherited stdio so output is live and
Ctrl-C stops it), and never modifies PATH — so FrankenPHP's bundled
OpenSSL-disabled php.exe can never shadow system PHP and break Composer.
Override the listen address with WAASEYAA_DEV_LISTEN (e.g. 0.0.0.0:9000).
The skeleton wires composer run dev → @php vendor/bin/waaseyaa dev, so the
command runs under Composer's own (system) PHP, identically in Git Bash,
PowerShell, cmd, and POSIX shells.
Why a package
This permanently closes the "where is FrankenPHP / PATH shadowing / the shell
can't find PHP" class of dev-server failures by removing both roots — shell
fragility (the command is a discoverable PHP CLI command, not a shell script) and
binary-location guessing (frankenphp:install fetches it to a known path).
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2026-06-20