opcache, file caching: Avoid problems with multiple pools/users
Dieses Issue hat noch niemand übernommen.
- 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
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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