Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Worker Mode regression in 1.13.0: Nextcloud worker fails to reach frankenphp_handle_request()

Geschlossen
#2,697 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Ein zugehöriger Pull Request wurde bereits gemerged.

  • #2701 von @dunglas — gemerged

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
go, php
Bereich
backend, devtools

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug
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

Vorherrschende Sprache
Go
Sterne
11.4k
Forks
494
Ø Merge
2 T. 18 Std.
Gemergte PRs (30 T.)
32

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus php/frankenphp

Alle Issues in php/frankenphp

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.