php / php/php-src

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

Ouverte
#22,289 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Extension: opcache Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.1k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par retracer la gestion de file_cache par OPcache et la manière dont les chemins de cache sont dérivés pour des pools et des utilisateurs distincts. Confirmez la collision et définissez l'achèvement comme le fait d'empêcher qu'un pool/utilisateur en bloque un autre lors de l'ajout, de l'ouverture ou de l'écrasement de fichiers mis en cache ; aucun fichier source ni test spécifique n'est nommé dans l'issue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
c, php
Domaine
backend, performance
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.