Comment activer et configurer le module PHP Opcache dans ServBay
ServBay est un puissant environnement local de développement Web conçu pour les développeurs, intégrant de nombreux stacks technologiques, dont PHP. Afin d’optimiser les performances de vos applications PHP, ServBay livre par défaut le module Opcache pour chaque version de PHP prise en charge. Ce guide détaille comment activer et configurer Opcache dans ServBay, et montre en quoi il accélère significativement vos projets PHP lors du développement et des tests.
Présentation du module Opcache
Opcache est une extension officielle de PHP dédiée à l'amélioration des performances d’exécution du code. Son principe fondamental consiste à mettre en cache le bytecode précompilé des scripts PHP dans la mémoire partagée. Ainsi, les appels ultérieurs au même script utilisent directement ce bytecode déjà prêt, évitant la phase de parsing, compilation et optimisation répétée. Ce mécanisme réduit considérablement la consommation CPU et mémoire, tout en accélérant les temps de réponse de vos applications.
Pourquoi Opcache est-il important pour les développeurs ?
- Accélération du développement et des tests : Activer Opcache en local accélère l’exécution de vos applications, diminue les temps de chargement des pages et améliore l’efficacité du travail au quotidien.
- Simulation de la production : La grande majorité des environnements de production PHP utilisent Opcache. L’activer en local vous rapproche des conditions réelles de production.
- Réduction de la consommation de ressources : Avec les frameworks lourds ou les applications complexes, Opcache abaisse sensiblement l’usage des ressources de votre machine locale.
Principales fonctionnalités de Opcache
- Cache du bytecode : Fonctionnalité de base — mise en cache du code PHP déjà compilé.
- Mémoire partagée : Le cache est stocké dans une mémoire partagée accessible à tous les processus PHP.
- Expiration automatique : Possibilité de configurer Opcache pour surveiller automatiquement les modifications des fichiers et maintenir le cache à jour.
- Configuration flexible : Nombreuses options de réglage en fonction de vos besoins spécifiques.
- Support natif : En tant qu’extension officielle de PHP, Opcache s’intègre parfaitement au cœur du langage.
Prise en charge d'Opcache dans ServBay
ServBay propose le module Opcache préinstallé pour toutes ses versions PHP intégrées (par exemple PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, etc.). Aucun téléchargement ou compilation supplémentaire n’est requis : vous pouvez l’activer et le configurer directement depuis l’interface graphique de ServBay ou via les fichiers de configuration.
Comment activer le module Opcache
Opcache peut être activé de deux manières principales dans ServBay : via l’interface graphique (GUI), ou en modifiant manuellement le fichier de configuration.
Méthode 1 : Activation via l’interface graphique ServBay (recommandé)
C’est la méthode la plus simple et la plus rapide.
- Ouvrez l'application ServBay.
- Dans la barre latérale, cliquez sur Langages (Languages).
- Sélectionnez la version PHP pour laquelle vous souhaitez activer Opcache, par exemple PHP 8.3.
- Sur la page de détails de la version PHP, cliquez sur l’onglet Extensions.
- Repérez l’extension OPcache dans la liste.
- Activez le bouton interrupteur à gauche de OPcache.
- Cliquez sur Enregistrer (Save) en bas de page.
- ServBay vous demandera de redémarrer le package PHP concerné pour appliquer les changements. Cliquez sur Redémarrer (Restart).
Une fois le redémarrage achevé, le module Opcache est activé.
Méthode 2 : Édition manuelle du fichier de configuration
Pour un réglage plus poussé ou une gestion avancée via fichiers, vous pouvez modifier manuellement le fichier .ini
dédié à Opcache.
- Localiser le fichier de configuration : Le fichier de configuration d’Opcache se trouve dans le dossier
conf.d
de la version PHP correspondante. Ce dossier regroupe les fichiers de configuration de chaque extension PHP.- Par exemple, pour PHP 8.3, le chemin est généralement :
/Applications/ServBay/etc/php/8.3/conf.d/opcache.ini
1 - Veillez à adapter le numéro de version selon votre configuration.
- Par exemple, pour PHP 8.3, le chemin est généralement :
- Modifier le fichier : Ouvrez le fichier
opcache.ini
avec votre éditeur de texte préféré.- En général, ce fichier contient déjà la structure de configuration de base d’Opcache, souvent commentée. Recherchez la section
[Zend Opcache]
. - Décommentez la ligne
zend_extension = opcache.so
(en supprimant le;
au début) pour vous assurer que l’extension est bien chargée. - Modifiez ou ajoutez les paramètres Opcache souhaités. Exemple de configuration typique (les paramètres seront expliqués dans la section suivante) :ini
[Zend Opcache] ; S'assurer que l'extension est chargée zend_extension = opcache.so ; Configuration de base (valeurs exemplaires) opcache.enable = 1 ; Activer Opcache globalement (1=activé, 0=désactivé) opcache.memory_consumption = 128 ; Quantité de mémoire allouée pour le cache d'opcodes (en Mo) opcache.interned_strings_buffer = 8; Mémoire pour la mise en cache des chaînes internées (en Mo) opcache.max_accelerated_files = 4000 ; Nombre maxi de fichiers à mettre en cache opcache.revalidate_freq = 60 ; Fréquence de vérification des modifications de fichiers (en secondes). 0 = à chaque requête (lent), utile en développement. opcache.fast_shutdown = 1 ; Activer l'arrêt rapide opcache.enable_cli = 1 ; Activer Opcache pour PHP CLI (interface en ligne de commande)
1
2
3
4
5
6
7
8
9
10
11
12 - Enregistrez le fichier
opcache.ini
.
- En général, ce fichier contient déjà la structure de configuration de base d’Opcache, souvent commentée. Recherchez la section
- Redémarrer le package PHP : Dans ServBay, localisez le package PHP concerné (dans le menu déroulant Packages de la barre latérale, puis sélectionnez PHP) et cliquez sur le bouton de redémarrage.
Après modification du fichier et redémarrage, Opcache et ses réglages personnalisés seront pris en compte.
Vérifier si le module Opcache est correctement chargé
Le moyen le plus fiable de savoir si Opcache est activé est de consulter les informations PHP via la fonction (phpinfo()
).
- Créer un fichier
phpinfo.php
: Placez un nouveau fichier PHP, par exemplephpinfo.php
, à la racine de votre site ServBay. Le chemin par défaut est/Applications/ServBay/www/
. Vous pouvez également créer un sous-dossier, par exemple/Applications/ServBay/www/servbay.demo/
, et y placer votre fichier. Contenu du fichier :php<?php phpinfo(); ?>
1
2
3 - Accéder à
phpinfo.php
: Veillez à ce que votre serveur web (Caddy ou Nginx) soit en cours d’exécution et configuré pour pointer vers le dossier racine ou de test. Accédez à l’URL correspondant dans votre navigateur.- Si le fichier est dans
/Applications/ServBay/www/servbay.demo/
et que vous avez lié le domaineservbay.demo
dans ServBay, l’URL serahttp://servbay.demo/phpinfo.php
. - Si vous l’avez placé directement à la racine
/Applications/ServBay/www/
, et que le site par défaut pointe ici, l’URL pourrait êtrehttp://localhost/phpinfo.php
ou l’adresse locale proposée par ServBay.
- Si le fichier est dans
- Chercher l’information Opcache : Faites défiler la page ou utilisez la recherche (
Cmd+F
ouCtrl+F
) en tapant "Opcache".- Si le module est chargé, une section distincte "Zend Opcache" s’affichera, montrant la version, l’état et les paramètres actifs.
- Si vous ne trouvez pas cette section, cela signifie qu’Opcache n’est pas actif. Vérifiez la procédure d’activation et la configuration de votre fichier.
Illustration : Repérer la configuration Zend Opcache dans la page phpinfo
Détail des paramètres de configuration Opcache
Opcache offre de nombreuses options, à adapter selon vos besoins. Ces paramètres se configurent habituellement dans le fichier opcache.ini
. Voici quelques options clés expliquées :
[Zend Opcache]
; S'assurer que l'extension est chargée
zend_extension = opcache.so
; Active ou désactive Opcache : 0 = désactivé, 1 = activé.
; L’interrupteur de l’interface graphique contrôle ce paramètre.
opcache.enable = 1
; Quantité de mémoire allouée au cache du bytecode PHP compilé (en Mo).
; À ajuster selon la taille du projet et la mémoire disponible. Projets larges = plus de mémoire.
opcache.memory_consumption = 128
; Mémoire dédiée au stockage des chaînes internes (noms de classes, méthodes, etc.), en Mo.
; À augmenter pour des frameworks utilisant beaucoup de chaînes (ex : Symfony).
opcache.interned_strings_buffer = 8
; Nombre maximum de fichiers mis en cache.
; Si votre projet compte plus de fichiers, certains ne seront pas cachés. Réglez ce nombre au-dessus du total de vos fichiers.
opcache.max_accelerated_files = 10000
; Fréquence de vérification des modifications de scripts, en secondes.
; En production, on met généralement une valeur élevée (300 ou 600), voire 0 (pas de vérification, nettoyage manuel du cache requis).
; **Pour le développement local, préférez une valeur basse (1 ou 2 secondes)** pour observer facilement vos changements. Si défini à 0, les fichiers sont vérifiés à chaque requête, ce qui affecte légèrement la performance mais est idéal en développement.
opcache.revalidate_freq = 2
; Active la séquence d'arrêt rapide. Améliore la libération mémoire en fin de requête. À laisser activé dans la plupart des cas.
opcache.fast_shutdown = 1
; Active Opcache pour PHP CLI (ligne de commande).
; Accélère scripts CLI, Composer, tests, etc. À laisser activé en général.
opcache.enable_cli = 1
; Permet la libération de mémoire partagée inoccupée. Peut être utile pour recycler de la RAM, au prix d’un léger impact sur les performances. Par défaut ou à désactiver.
; opcache.enable_file_override = 0
; Ignore les annotations lors de la mise en cache des chemins de fichiers. Peut économiser un peu de mémoire mais impacter certains outils dépendant des annotations.
; opcache.save_comments = 1
; Préserve les docblocks lors de la mise en cache. Indispensable si vous utilisez des outils qui exploitent ces commentaires (PHPUnit, Doctrine…).
; opcache.load_comments = 1
; Niveau d’optimisation. Plus le chiffre est haut, plus l’optimisation est poussée, mais la compilation sera plus longue. La valeur par défaut est suffisante pour la plupart.
; opcache.optimization_level = 0x7FFFBBFF
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Attention : chaque modification du fichier opcache.ini
nécessite un redémarrage du package PHP pour être prise en compte.
FAQ – Questions fréquentes
- Q : Opcache est-il activé par défaut ? R : Dans ServBay, Opcache est préinstallé mais, par défaut, il est généralement désactivé. Suivez les étapes ci-dessus pour l’activer.
- Q : L’activation d’Opcache risque-t-elle de perturber mon workflow de développement ? R : L’activation d’Opcache accélère au contraire vos applications. En développement, réglez
opcache.revalidate_freq
à une valeur basse (1 ou 2) ou à 0, pour que vos modifications soient prises en compte immédiatement. En production, augmentez cette valeur et mettez en place un système de purge manuelle du cache. - Q : Opcache prend-il en charge les scripts PHP exécutés en CLI ? R : Par défaut, non. Vous devez régler le paramètre
opcache.enable_cli
à1
pour bénéficier d’Opcache en PHP CLI. Ceci accélérera Composer, les tests unitaires et divers outils en ligne de commande. - Q : Quelle quantité de mémoire attribuer à Opcache ? R : La valeur de
opcache.memory_consumption
dépend de la taille et complexité du projet. 128 Mo ou 256 Mo sont suffisants pour la plupart des développements locaux. Pour un très grand projet ou si vous recevez un message d’avertissement de cache plein dansphpinfo()
, augmentez la valeur. - Q : Que faire après modification du fichier
opcache.ini
? R : Vous devez redémarrer le package PHP concerné pour que les nouvelles options prennent effet.
Conclusion
Opcache est un outil d’optimisation PHP puissant et facile à utiliser. ServBay facilite sa gestion, que ce soit via son interface graphique intuitive ou par l’édition des fichiers de configuration. En quelques étapes simples, vous pouvez activer Opcache dans ServBay, accélérer considérablement vos applications et améliorer la réactivité en développement et pendant les tests. En adaptant les paramètres à vos besoins spécifiques, vous exploitez au mieux la puissance d’Opcache pour votre projet. Lancez-vous dès maintenant dans l’activation d’Opcache sur ServBay et découvrez toute la différence côté performance !