php / php/php-src

PHP checks the filesystem for file existing even if available in opcache and all opcache validations are disabled

Ouverte
#13,989 30 commentaires 3 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.2k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

The following code:

opcache.enable = 1
opcache.enable_cli = 1

opcache.file_update_protection = 0
opcache.validate_timestamps = 0
opcache.validate_permission = 0
opcache.validate_root = 0

opcache.file_cache = "/var/cache/opcache"
opcache.file_cache_only = 1
opcache.file_cache_consistency_checks = 0

will still trigger "File doesn't exist" even though opcache is correctly prepopulated. If I create an empty folder with an empty file, it works as expected.

See (reproduced in Docker, but this is not Docker specific, it's only convenient to reproduce there):
https://github.com/dkarlovi/docker-php-opcache-only/blob/main/Dockerfile#L15

Try it like here:
https://github.com/dkarlovi/docker-php-opcache-only/blob/main/README.md

PHP Version

PHP 8.2, 8.3

Operating System

Docker PHP image

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 reproduire le comportement avec le Dockerfile de la ligne indiquée et les commandes du README indiqué. Déterminez pourquoi PHP signale "File doesn't exist" malgré l'opcache prérempli et les validations désactivées. Le travail est terminé lorsque la configuration reproduite peut charger le fichier mis en cache sans nécessiter un fichier vide dans le système de fichiers.

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

Évaluation

Stack technique
docker, php
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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