php / php/php-src

opcache, file caching: Avoid problems with multiple pools/users

Offen
#22,289 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Description

It can happen that files in the file_cache collide. If they come from separate pools with separate users it can happen that one pool/user added a file and it can't be opened/overwritten by the other.
Can this be avoided by using the full file-path in the cache, maybe placeholders for the poolname or so? If those are separate pools then separate owners would not cause a collision.

PHP Version
PHP 8.5.7 (cli) (built: Jun  2 2026 20:59:56) (NTS gcc x86_64)
Copyright (c) The PHP Group
Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
Zend Engine v4.5.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.7, Copyright (c), by Zend Technologies
Operating System

RHEL 9

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, OPcache's Handhabung von file_cache nachzuverfolgen und zu untersuchen, wie Cache-Pfade für getrennte Pools und Benutzer abgeleitet werden. Bestätige die Kollision und definiere den Abschluss so, dass ein Pool/Benutzer einen anderen beim Hinzufügen, Öffnen oder Überschreiben zwischengespeicherter Dateien nicht blockieren kann; im Issue ist keine bestimmte Quelldatei oder kein bestimmter Test genannt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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