speed
高性能常驻内存模式
FrankenPHP
Worker 模式指南
启动一次,常驻内存 · 毫秒级响应请求
lightbulb
核心概念
memory
内存常驻
应用启动后保存在内存中,避免重复加载开销
应用启动后保存在内存中,避免重复加载开销
bolt
极速响应
请求处理时间缩短至毫秒级
请求处理时间缩短至毫秒级
terminal
docker run -e FRANKENPHP_CONFIG="worker /app/script.php" dunglas/frankenphp
code
Worker 脚本结构
// 1. 引导应用 (仅执行一次)
$app = require 'bootstrap.php';
// 2. 定义请求处理器 $handler = function() use ($app) { // 超全局变量会被自动重置 echo $app->handle($_GET, $_POST); };
// 3. 请求处理循环 while (frankenphp_handle_request($handler)) { // 可选: 请求后处理与垃圾回收 gc_collect_cycles(); }
注意:传统 PHP 库可能存在内存泄漏。建议配置 MAX_REQUESTS 环境变量定期重启 Worker 进程。
tune
配置选项
-
chevron_right
Worker 数量
默认: CPU核心数 × 2 -
chevron_right
热重载
--watch 监控文件变更 -
chevron_right
优雅重启
Admin API 触发
autorenew
生命周期管理
1
启动引导
2
监听请求
3
处理/重载
Worker 崩溃时采用指数退避策略自动重启,防止频繁崩溃导致系统过载。