Worker Mode regression in 1.13.0: Nextcloud worker fails to reach frankenphp_handle_request()
维护者通常 1 天内回复
已经有一个关联 PR 被合并了。
- #2701 来自 @dunglas —— 已合并
评估
调研方向
Start by comparing the worker initialization path between FrankenPHP 1.12.7 and 1.13.0; the issue does not identify specific source files or tests. Reproduce with the provided Nextcloud worker configuration and PHP ZTS 8.4.26, then inspect startup logs to locate where the worker fails to reach frankenphp_handle_request(). Done means the same configuration starts successfully on 1.13.0.
由索引模型根据 Issue 内容生成。
描述
What happened?
After upgrading FrankenPHP from 1.12.7 to 1.13.0, an existing Nextcloud Worker Mode configuration no longer starts.
FrankenPHP 1.13.0 fails during worker initialization:
loading new config: frankenphp app module: start: failed to initialize workers: too many consecutive failures: worker /var/www/nextcloud/index.php has not reached frankenphp_handle_request()
Downgrading only FrankenPHP to 1.12.7 immediately restores normal operation with the same Nextcloud installation, PHP ZTS version and Caddyfile.
Environment
Debian 13, amd64
Nextcloud 35.0.1
PHP ZTS 8.4.26
php-zts-cli: 8.4.26-2
php-zts-embed: 8.4.26-2
Working: FrankenPHP 1.12.7
Failing: FrankenPHP 1.13.0
FrankenPHP 1.13.0 package: 1.13.0+php84-1
Caddy bundled with 1.13.0: 2.11.7
Package source: pkg.henderkes.com
Package SHA256: 3388c67c70f5de50e01270fa853ca6f688370fe094541d058b046489d228c792
frankenphp version for the failing package:
FrankenPHP v1.13.0 PHP 8.4 Caddy v2.11.7 h1:yj0Y4fYZGPkSvibBJ1sTWE33xC0fxztVyXEW5iIdUT4=
Caddyfile
{
frankenphp {
num_threads 17
max_threads 32
}
}
https://cloud-franken.domain.local {
bind 192.168.168.168
root * /var/www/nextcloud
tls /etc/frankenphp/tls/fullchain.crt /etc/frankenphp/tls/cloud-franken.key
encode zstd br gzip
php_server {
worker {
file /var/www/nextcloud/index.php
num 8
env MAX_REQUESTS 500
}
}
}
Reproduction
With exactly the same configuration:
FrankenPHP 1.12.7 + PHP ZTS 8.4.26-2 -> works
FrankenPHP 1.13.0 + PHP ZTS 8.4.26-2 -> worker initialization fails
FrankenPHP 1.12.7 + PHP ZTS 8.4.26-2 -> works again after downgrade
With 1.13.0:
ExecStartPre=/usr/bin/frankenphp validate --config /etc/frankenphp/Caddyfile
(code=exited, status=0/SUCCESS)
ExecStart=/usr/bin/frankenphp run --environ --config /etc/frankenphp/Caddyfile
(code=exited, status=1/FAILURE)
Status: "loading new config: frankenphp app module: start: failed to initialize workers: too many consecutive failures: worker /var/www/nextcloud/index.php has not reached frankenphp_handle_request()"
PHP ZTS and Nextcloud initialize correctly independently:
sudo -u www-data php-zts /var/www/nextcloud/occ status
returns Nextcloud 35.0.1 with maintenance: false and needsDbUpgrade: false.
An Argon2id password_hash() / password_verify() test on PHP ZTS 8.4.26 also succeeds.
The failure is therefore reproducible by changing only FrankenPHP from 1.12.7 to 1.13.0.
Please let me know if debug-level startup logs or additional diagnostics would help.
Build Type
deb packages
Worker Mode
Yes
Operating System
GNU/Linux
CPU Architecture
x86_64
PHP configuration
phpinfo() output
PHP 8.4.26 ZTS
php-zts-cli 8.4.26-2
php-zts-embed 8.4.26-2
memory_limit = 1024M
opcache.enable = On
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 32
opcache.max_accelerated_files = 20000
opcache.validate_timestamps = On
opcache.revalidate_freq = 60
opcache.jit = disable
realpath_cache_size = 4096K
realpath_cache_ttl = 120
session.save_handler = files
session.save_path = /var/lib/php/sessions
session.use_cookies = On
session.use_only_cookies = On
session.use_strict_mode = Off
Loaded extensions include:
apcu, bcmath, bz2, curl, gd, gmp, imagick, intl, ldap,
mbstring, openssl, pdo_pgsql, pgsql, redis, sodium, zip
Relevant log output
Relevant log output
- 主要语言
- Go
- 星标
- 11.4k
- 派生
- 494
- 平均合并
- 2 天 18 小时
- 30 天内合并 PR
- 32
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
php/frankenphp 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 90/100
php/frankenphp#2671 · 1 条评论 ·
维护者通常 1 天内回复
-
Include frankenphp version in logs可能已有人在做 @ousamabenyounes 于 87 天前认领。 未关闭enhancement
难度 2/5 1-3 小时 新手友好度 68/100
php/frankenphp#2483 · 3 条评论 ·
维护者通常 1 天内回复
-
suggestion about compile.md可能重新可做 关联的 PR 已关闭且未合并。 未关闭enhancement
难度 1/5 1-3 小时 新手友好度 68/100
php/frankenphp#601 · 5 条评论 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 15/100
php/frankenphp#2715 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 8/100
php/frankenphp#2714 ·
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 81/100
apache/rocketmq-dashboard#6895 ·
维护者通常 3 天内回复
-
难度 1/5 1 小时以内 新手友好度 87/100
777genius/agent-notifications#490 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
devantler-tech/ksail#7836 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
keyxmakerx/Chronicle#1469 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 73/100
维护者通常 1 天内回复