Maison > développement back-end > PHP7 > le corps du texte

Comment installer et configurer ZendOpcache

醉折花枝作酒筹
Libérer: 2023-02-18 07:32:01
avant
1818 Les gens l'ont consulté

Zend, la société derrière l'équipe de développement PHP, a récemment rendu open source son produit d'accélération PHP Zend Optimizer. Le nouveau projet est hébergé sur Github et le nom du projet est ZendOptimizerPlus. Aujourd'hui, nous allons parler de ZendOpcache.

Comment installer et configurer ZendOpcache

Introduction

Zend Optimizer + accélère l'exécution de PHP en mettant en cache et en optimisant les opcodes. Il améliore les performances de PHP en stockant les scripts PHP précompilés dans la mémoire partagée. Cette opération élimine le besoin de lire à partir du disque. Fichiers PHP puis compilation. De plus, il fournit également une petite quantité de mode d'optimisation du bytecode pour rendre le code plus rapide.

Applicabilité

La version actuelle de Zend Optimizer + est adaptée à PHP 5.2.*, 5.3. *, 5.4.* et la branche de la version de développement PHP-5.5. Le support de PHP 5.2 pourrait être supprimé à l'avenir

Installation

Téléchargez d'abord le code source de Zend Optimizer + :

http://pecl.php.net/package/ZendOpcache
Copier après la connexion

Actuellement, j'utilise. Version bêta 7.0 .1, téléchargez et décompressez, compilez :

wget http://pecl.php.net/get/zendopcache-7.0.1.tgz
tar xzf zendopcache-7.0.1.tgz
cd zendopcache-7.0.1
phpize
./configure --with-php-config=/path_to_php_bin/php-config
make
make install
Copier après la connexion

ConfigurationModifier php.ini

zend_extension=/...full_path.../opcache.so
#以下是开发组推荐配置
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
Copier après la connexion

Redémarrez votre php cgi ou Apache.

Explication détaillée des paramètres de configuration

  • opcache.enable( Valeur par défaut : 1)

    Zend Optimizer + switch, le code n'est plus optimisé lorsqu'il est éteint.

  • opcache.memory_consumption(Valeur par défaut : 64)

    Zend Optimizer + taille de la mémoire partagée, combien de préréglages peuvent être stocké dans le code PHP compilé total (Unité : Mo).

  • opcache.max_accelerated_files
  • (valeur par défaut : 2000)

    Zend Optimizer + le nombre maximum de clés dans la table de hachage (un fichier script doit correspondre à une clé, il doit donc s'agir du nombre maximum de fichiers autorisés à être mis en cache) . Cette valeur est en fait le premier nombre de la liste de nombres premiers {223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987} qui est supérieur à la valeur définie : 200 –. 100000

  • opcache. max_wasted_percentage
  • (Valeur par défaut : 5)

    Lorsque la mémoire "gaspillée" atteint le pourcentage correspondant à cette valeur, un programme de redémarrage sera lancé.

  • opcache.use_cwd
  • (Par défaut valeur : 1)

    Activez cette commande, Zend Optimizer + ajoutera automatiquement le nom du répertoire de travail actuel à la clé de script pour éliminer les conflits de nom clé-valeur entre les fichiers portant le même nom. La désactivation de cette commande améliorera les performances, mais. endommagera les applications existantes.

  • opcache.validate_timestamps
  • (Par défaut : 1)

    Lorsque désactivé, vous devez réinitialiser manuellement Zend Optimizer+ ou redémarrer le serveur Web pour que les modifications du système de fichiers prennent effet. La fréquence des vérifications. est déterminé par la directive "opcache.revalidate_freq" ” Control.

  • opcache.revalidate_freq
  • (Par défaut : 2)

    À quelle fréquence (en secondes) vérifier l'horodatage du fichier pour modifier l'allocation de la mémoire partagée "1. " signifie vérifier une fois par seconde, mais une fois par requête. " 0 " signifie toujours vérifier. désactivé et le fichier mis en cache peut être trouvé dans le même chemin d'inclusion, et la recherche de fichier ne sera plus effectuée. Par conséquent, s'il existe un fichier avec le même nom ailleurs dans le chemin d'inclusion, il ne sera pas trouvé si cette optimisation a été effectuée. un impact sur votre application, alors elle devrait être autorisée à rechercher. Par défaut, la directive est désactivée, ce qui signifie que l'optimisation est active

  • opcache.save_comments
  • (Par défaut : 1)

    Si désactivée, tous les documents. Les commentaires sont supprimés du code pour réduire la taille du code optimisé. La désactivation des « commentaires de documentation » peut casser certaines applications et frameworks existants (par exemple : Doctrine, ZF2, PHPUnit

  • opcache.load_comments
  • (par défaut : 1). )

    S'ils sont désactivés, les commentaires de la documentation PHP ne seront pas lus depuis SHM (mémoire partagée). Bien que les "commentaires de documentation" soient toujours stockés (save_comments=1), ils ne seront de toute façon pas utilisés. application.

  • opcache.fast_shutdown
  • (Par défaut : 0)

    Si elle est activée, une file d'attente d'arrêt rapide est utilisée pour accélérer le code. La file d'attente d'arrêt rapide ne libère pas chaque bloc alloué, laissant plutôt la mémoire du Zend Engine. manager fait le travail.

  • opcache.enable_file_override
  • (Par défaut : 0)

    Permet aux fonctionnalités d'optimisation de remplacer l'existence des fichiers (file_exists, etc.).

  • opcache.optimization_level
  • (Par défaut : 0xffffffff)

    Un masque de bits où chaque bit autorise ou désactive le passage de cache correspondant

  • opcache.inherited_hack
  • (Par défaut : 1)

    .

    L'activation de ce hack peut résoudre temporairement l'erreur "Impossible de redéclarer la classe". Zend Optimizer + est l'endroit où les opcodes DECLARE_CLASS sont stockés en utilisant l'héritage (ce sont les seuls opcodes qui peuvent être exécutés par PHP, mais ils peuvent également être causés par l'optimisation) La classe est introuvable et ne peut pas être exécutée). Lorsque le fichier est lu, l'optimiseur essaiera de lier la classe héritée via l'environnement actuel. Le problème est que l'opcode DECLARE_CLASS peut ne pas être nécessaire au script actuel. script L'opcode est requis pour au moins terminer l'opération de définition de classe, alors il ne sera pas exécuté. La valeur par défaut de cette commande est désactivée, ce qui signifie que l'optimisation n'est plus requise dans PHP 5.3 et supérieur, et cela. paramètre Cela ne prendra pas effet.

  • opcache.dups_fix(Par défaut : 0)

    L'activation de ce hack peut résoudre temporairement l'erreur "Impossible de redéclarer la classe".

  • opcache.blacklist_filename(Par défaut Valeur : Aucun)

    Zend Optimizer + L'emplacement du fichier de la liste noire.
    Zend Optimizer + La liste noire est un fichier texte contenant les noms des fichiers qui ne peuvent pas être accélérés. Le format de fichier est un nom de fichier par ligne. être un chemin complet ou un préfixe de fichier (par exemple : /var/www/x bloque tous les fichiers ou répertoires commençant par « x » dans les fichiers et répertoires /var/www. Les fichiers qui doivent être bloqués répondent généralement aux trois éléments suivants). raisons L'une des suivantes :
    1) Le répertoire contient du code généré automatiquement, tel que le cache Smarty ou ZFW.
    2) Le code ne s'exécute pas correctement lors de l'accélération, retardant ainsi l'évaluation à la compilation.
    3) Le code déclenche un Zend Optimizer. + Bug

  • opcache.max_file_size(Par défaut : 0)

    Mise en cache d'écran des fichiers volumineux par taille de fichier.

  • opcache.consistency_checks(Valeur par défaut : 0)

    Vérifiez la vérification du cache toutes les N demandes. La valeur par défaut de 0 signifie que la vérification est désactivée. Étant donné que le calcul de la valeur de vérification nuit aux performances, cette commande doit être activée pendant le développement et le débogage.

  • opcache.force_restart_timeout( Par défaut : 180)

    Combien de temps attendre (en secondes) pour planifier un redémarrage après que le cache n'est pas accédé. Zend Optimizer + s'appuie sur cette commande pour déterminer quand un processus peut avoir des problèmes pendant le traitement après cette période (temps d'attente). ), il est supposé que Zend Optimizer + a quelques problèmes et commence à tuer les processus qui détiennent encore le verrou de prévention de redémarrage. Lorsque cela se produit, si le niveau de journalisation est 3 ou supérieur, une erreur "casier tué" sera enregistrée. le journal Apache.

  • opcache.error_log(Par défaut : Aucun)

    Zend Optimizer + nom du fichier journal des erreurs Laissez vide pour utiliser la sortie d'erreur standard (stderr) .

  • opcache.log_verbosity_level(Par défaut. : 1)

    Directez les messages d'erreur vers le journal du serveur Web. Par défaut, seules les erreurs fatales (niveau 0) ou les erreurs (niveau 1) seront enregistrées. Vous pouvez également autoriser les avertissements (niveau 2) et les messages d'invite (niveau 3). ou les messages de débogage (niveau 4) à enregistrer

  • opcache.preferred_memory_model (Par défaut : aucun)

    Le backend préféré pour le partage de mémoire. Laissez le champ vide pour laisser le système choisir.

  • opcache.protect_memory. (Par défaut : 0)

    Empêcher l'écriture accidentelle de la mémoire partagée lors de l'exécution du script, uniquement pour le débogage interne.

  • opcache.mmap_base(Par défaut : Aucun)

    Base de mappage des segments de mémoire partagée (Windows uniquement). Tous les processus PHP doivent être mappés sur le même espace d'adressage de mémoire partagée. Cette directive est utilisée pour corriger manuellement les erreurs « Impossible de se rattacher à l'adresse de base ».

Apprentissage recommandé : Tutoriel vidéo 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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!