Installer et configurer OPcache pour les performances PHP sur CentOS 7

L'un des langages de programmation les plus utilisés aujourd'hui par des millions d'utilisateurs est PHP, qui est utile et pratique pour le développement d'applications et peut être trouvé sur tous les serveurs d'hébergement Web disponibles aujourd'hui.

L'un des avantages de l'utilisation de PHP réside dans ses excellentes options pour utiliser diverses extensions dans leur distribution par défaut; avec lequel les utilisations de PHP pour le développement des applications sont étendues de manière progressive. L'une de ces extensions est OPcache, qui permet d'améliorer les performances globales de PHP.

C'est pour cette raison qu'aujourd'hui et à travers cette étude, Solvetic vous expliquera comment installer et configurer OPcache dans CentOS 7 pour être encore plus productif avec PHP.

Qu'est-ce qu'OPcache ?OPcache a été développé en cherchant à améliorer les performances de PHP en stockant le byte code d'un script précompilé dans une mémoire partagée, éliminant ainsi le besoin pour le langage PHP lui-même de charger et d'analyser les scripts dans chaque requête, ce qui est finalement traduit dans de meilleures performances .

OPcache est inclus dans PHP version 5.5.0 et versions ultérieures, et est disponible via PECL pour les versions PHP 5.2, 5.3 et 5.4.

Aucune bibliothèque externe n'est requise pour compiler cette extension PHP, elle est donc disponible pour toutes les distributions où PHP s'exécute sans problème.

1. Comment installer OPcache sur CentOS 7 Linux

Étape 1
Tout d'abord, nous allons installer le référentiel EPEL puis le référentiel REMI à l'aide des commandes suivantes :

 yum install epel-release yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Nous entrons la lettre s pour confirmer le téléchargement et l'installation.

AGRANDIR

Étape 2
Plus tard, nous devons accepter les clés GPG correspondantes :

AGRANDIR

Étape 3
L'étape suivante consiste à installer yum-utils, qui est une collection d'utilitaires pour étendre les fonctions par défaut de yum, grâce à eux, il sera possible de gérer les référentiels yum, ainsi que les packages sans configuration manuelle et bien d'autres tâches, pour leur installation, nous exécutons les opérations suivantes :

 yum installer yum-utils

AGRANDIR

Étape 4
Plus tard, nous devons confirmer le téléchargement et l'installation des packages :

AGRANDIR

Étape 5
Maintenant, lorsque yum-utils a été installé, nous devons utiliser yum-config-manager pour activer le référentiel Remi comme référentiel par défaut pour installer différentes versions et modules de PHP, nous exécutons ce qui suit en fonction de la version souhaitée :

Pour PHP 5.5

 yum-config-manager --enable remi-php55

Pour PHP 5.6

 yum-config-manager --enable remi-php56

Pour PHP 7.0

 yum-config-manager --enable remi-php70

Pour PHP 7.1

 yum-config-manager --enable remi-php71

Pour PHP 7.2

 yum-config-manager --enable remi-php72 

AGRANDIR

Étape 6
Enfin, nous procédons à l'installation de l'extension OPcache et vérifions la version PHP afin de confirmer que l'extension OPcache est installée. Pour cela, nous utilisons les commandes suivantes. Nous acceptons le téléchargement et l'installation d'OPcache.

 miam installer php-opcache

AGRANDIR

Étape 7
Nous vérifions la version de PHP et qu'il a OPcache. Notez le résultat avec Zend OPcache v7.0.5, cela indique qu'Opcache est correctement installé sur CentOS 7.

AGRANDIR

2. Comment configurer l'extension Opcache sur CentOS 7 Linux


Étape 1
La dernière étape consiste à configurer OPcache en éditant le fichier /etc/php.d/10-opcache.ini ou /etc/php.d/opcache.ini (selon le cas) avec notre éditeur souhaité :
 nano /etc/php.d/opcache.ini
Là, nous pouvons appliquer les valeurs suivantes pour obtenir de meilleures performances PHP :
 opcache.enable_cli = 1 opcache.memory_consumption = 128 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 4000 opcache.revalidate_freq = 60 opcache.fast_shutdown = 1

AGRANDIR

Nous enregistrons les modifications à l'aide des clés suivantes :

Ctrl + O

On sort de l'éditeur à l'aide des touches suivantes :

Ctrl + X

Étape 2
Nous procédons au redémarrage du serveur Web en exécutant l'une des lignes suivantes :

 systemctl redémarrer nginx OU systemctl redémarrer httpd
Dans le fichier opcache.ini se trouvent les variables suivantes avec leur utilisation respective :

Cette option active le cache d'opcode. Lorsqu'il est désactivé, le code n'est pas optimisé ou mis en cache

 opcache.enable booléen

Cette option active le cache opcode pour la version CLI de PHP

 opcache.enable_cli booléen

Gère la taille de la mémoire partagée utilisée par OPcache, en mégaoctets

 opcache.memory_consumption entier

Sa fonction est de gérer la quantité de mémoire utilisée pour stocker les chaînes, en mégaoctets.

 opcache.interned_strings_buffer entier

Votre tâche consiste à gérer le nombre maximum de clés dans la table de hachage OPcache, sa valeur minimum est de 200 et sa valeur maximum est de 100000 en PHP <5.5.6, et 1000000 dans les versions ultérieures.

 opcache.max_accelerated_files entier

Fait référence au pourcentage maximal de mémoire gaspillée qui est autorisé avant qu'un redémarrage ne soit planifié sur l'extension.

 opcache.max_wasted_percentage entier

L'activer permet à OPcache d'ajouter le répertoire de travail actuel à la clé de script, éliminant ainsi les collisions possibles entre les fichiers portant le même nom de base.

 opcache.use_cwd booléen 

Une fois activé, OPcache interrogera les scripts mis à jour toutes les opcache.revalidate_freq secondes.

 opcache.validate_timestamps booléen

Mesure la fréquence de vérification des horodatages Unix des scripts basés sur les mises à jour, en secondes opcache.revalidate_path booléen : lorsqu'il est désactivé, les fichiers mis en cache existants qui utilisent le même include_path seront réutilisés par OPcache.

 opcache.revalidate_freq entier

Lorsqu'elle est désactivée, tous les commentaires de documentation seront supprimés du cache de l'opcode afin de réduire la taille du code optimisé.

 opcache.save_comments booléen

Avec son activation, une séquence d'arrêt rapide est créée qui est utilisée de manière à ne pas libérer chaque bloc alloué, mais dépend du gestionnaire de mémoire Zend Engine pour optimiser l'arrêt de PHP.

 opcache.fast_shutdown booléen

C'est un bitmask qui contrôle quelles autorisations d'optimisation sont exécutées par OPcache

 opcache.optimization_level entier

C'est un hack qui doit être activé pour fonctionner uniquement afin d'éviter les erreurs "Cannot redeclare class

 opcache.dups_fix booléen

Indique la taille maximale du fichier qui sera mis en cache, en octets

 opcache.max_file_size entier

Fait référence à la durée d'attente du début d'un redémarrage planifié si le cache n'est pas actif, en secondes

 opcache.force_restart_timeout entier

Les journaux d'erreurs OPcache y sont stockés

 chaîne opcache.error_log

C'est le modèle de mémoire principal qu'OPcache utilisera

 chaîne opcache.preferred_memory_model

Votre tâche consiste à protéger la mémoire partagée des écritures inattendues lors de l'exécution de scripts

 opcache.protect_memory booléen

Sa fonction est d'appeler les fonctions API OPcache uniquement à partir de scripts PHP dont le chemin commence par la chaîne spécifiée

 chaîne opcache.restrict_api

Les fonctions générales d'OPcache sont

Il s'occupe de compiler et de mettre en cache un script PHP sans l'exécuter

 opcache_compile_file

Obtient des informations de configuration sur le cache

 opcache_get_configuration

Permet d'accéder aux informations d'état sur le cache

 opcache_get_status

Invalider un script mis en cache

 opcache_invalider

Indique si un script est mis en cache dans OPcache

 opcache_is_script_cached

Permet de réinitialiser le contenu du cache opcode

 opcache_reset

Comme on peut le voir, cette extension PHP sera utile pour améliorer significativement les performances de ce langage et ainsi fonctionner de manière beaucoup plus complète.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave