Maison  >  Article  >  développement back-end  >  Explication détaillée de l'extension OPcache en PHP

Explication détaillée de l'extension OPcache en PHP

青灯夜游
青灯夜游avant
2020-07-27 17:57:312903parcourir

Explication détaillée de l'extension OPcache en PHP

OPcache améliore les performances de PHP en stockant le bytecode précompilé des scripts PHP dans la mémoire partagée. L'avantage du stockage du bytecode précompilé est qu'il élimine le besoin de chargement et la surcharge d'analyse de PHP. scripts. Les versions après PHP 5.5 sont liées à cette extension par défaut. Les versions précédentes de PHP 5.2, 5.3 et 5.4 peuvent utiliser la bibliothèque OPcache dans l'extension » PECL.

Explication de l'élément de configuration

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

Cet élément de configuration est recommandé par le manuel PHP et est défini au milieu de php.ini. élément de configuration La description est la suivante :

  • opcache.memory_consumption : La taille de la mémoire partagée d'OPcache, en mégaoctets.
  • opcache.interned_strings_buffer : La taille de la mémoire utilisée pour stocker les chaînes réservées, en mégaoctets. Les versions de PHP antérieures à 5.3.0 ignorent cette directive de configuration.
  • opcache.max_accelerated_files : La limite supérieure du nombre de fichiers de script pouvant être stockés dans la table de hachage OPcache. La valeur réelle est le premier nombre premier trouvé dans l'ensemble de nombres premiers {223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987} qui est supérieur ou égal à la valeur définie. La plage de valeurs minimale de la valeur de paramètre est de 200, la valeur maximale est de 100 000 avant PHP 5.5.6 et de 1 000 000 après PHP 5.5.6.
  • opcache.revalidate_freq : Vérifiez si l'horodatage du script a été mis à jour, en secondes. La définition sur 0 oblige OPcache à vérifier les mises à jour du script à chaque requête. Si la directive de configuration opcache.validate_timestamps est définie sur désactivée, ce paramètre sera ignoré.
  • opcache.validate_timestamps : Si activé, OPcache vérifiera si le script est mis à jour toutes les opcache.revalidate_freq secondes. Si cette option est désactivée, vous devez réinitialiser manuellement OPcache à l'aide des fonctions opcache_reset() ou opcache_invalidate(), ou redémarrer le serveur Web pour que les modifications du système de fichiers prennent effet.
  • opcache.fast_shutdown : Si activé, les événements de reprise d'arrêt rapide seront utilisés. L'événement dit de reprise d'arrêt rapide fait référence au module de gestion de mémoire qui s'appuie sur le moteur Zend pour libérer la mémoire de toutes les variables demandées en même temps, plutôt que de libérer chaque bloc de mémoire alloué en séquence. À partir de PHP 7.2.0, cette directive de configuration a été supprimée. La gestion des événements de reprise avec arrêt rapide a été intégrée à PHP, et PHP gérera automatiquement ces événements de reprise autant que possible.
    Pour plus de descriptions des éléments de configuration, veuillez vous référer au manuel OPcache.

Fonction OPcache

OPcache fournit certaines fonctions intégrées pour contrôler l'état du cache du bytecode. La condition préalable à l'utilisation est que. Activez l'extension OPcache.

  • opcache_compile_file : Compile le script PHP de cache sans l'exécuter. Si le paramètre FILE est utilisé seul, il est obligatoire. est un script. Chemin, par exemple : opcache_compile_file('index.php')
  • opcache_get_configuration
  •  : Obtenez toutes les informations de configuration actuelles d'opcache
  • opcache_get_status
  •  : Obtenez les informations actuelles du cache d'opcache, y compris si l'espace mémoire partagé est plein, etc.
  • opcache_invalidate
  •  : Invalidez le cache de script, il y a deux paramètres, le script (informations sur le chemin du script) est obligatoire, force (booléen) est facultatif, si le paramètre force est vrai, le cache est forcé à être supprimé. S'il est faux ou s'il n'est pas renseigné, alors le cache du script ne sera invalide que lorsque l'heure de modification du script est plus récente. que le temps de bytecode correspondant.
  • opcache_is_script_cached
  •  : Vérifiez si le script est mis en cache dans OPCache, le paramètre FILE (chemin du fichier) est requis
  • opcache_reset
  •  : Rechargez tous les caches opcache , attendez La prochaine fois que vous effectuerez la compilation

Notes de développementDans l'environnement de développement local, il est recommandé de désactiver l'OPcache extension, le cache peut rendre le débogage local crée de nombreux problèmes et réduit l'efficacité du développement.

Extension des connaissances sur la mémoire partagée La mémoire partagée est un moyen efficace d'échanger des données entre des applications sur la même machine. L'efficacité d'exécution de la mémoire pour les programmes est supérieure à celle des E/S disque, donc une utilisation raisonnable de la mémoire peut améliorer l'efficacité des programmes. Ses scénarios d'application incluent les requêtes Web, les requêtes de base de données, la mise en cache du moteur de modèles et le cache de compilation OPcache pour PHP mentionné dans l'article actuel.

Tutoriels associés recommandés : "

Tutoriel PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer