waaseyaa/frankenphp 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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, macOS arm64/x86_64, Windows x86_64), pinned to a known-good version (default v1.12.4; override with --frankenphp-version or FRANKENPHP_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/ so frankenphp.exe finds 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
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2026-06-20

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固