php / php/php-src

FPM is maliciously compliant when asked to set opcache.preload

Offen
#9,722 5 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Extension: opcache SAPI: fpm Status: Needs Triage
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.1k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

The following FPM configuration:

php_value[opcache.preload] = /app/config/preload.php
php_value[opcache.preload_user] = app

results in phpinfo() advertising that config.

Yet when calling opcache_get_status(), there is no preload_statistics, and there is no performance improvement in the application.

I asked about this here, and was told that's because it is too late: when setting that config value, FPM has already started. If that's the case, I would expect an exception to be thrown, because I can think of a reason to allow editing that setting past a certain point

PHP Version

8.1.7

Operating System

Linux

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die FPM-Konfiguration mit php_value[opcache.preload] und php_value[opcache.preload_user] zu reproduzieren, und vergleiche dann phpinfo() mit opcache_get_status(). Verfolge, wann FPM diese Einstellungen im Verhältnis zur Initialisierung des opcache-Preloads anwendet; als erledigt sollte das Verhalten definiert und getestet sein, wenn eine Preload-Einstellung zu spät angewendet wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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