Pour succéder à la version précédente pour PHP 5.6, l’extension WinCache pour PHP 7.2 sous IIS est sortie et est maintenant disponible en versions 64 et 32 bits.
Lien de téléchargement : http://sourceforge.net/projects/wincache/
Toujours les mêmes prérequis
- Le cache d’Opcode étant maintenant désactivé dans WinCache, il faut vérifier qu’il est bien activé dans PHP (fichier php.ini)
[opcache]
; Determines if Zend OPCache is enabled opcache.enable=1 opcache.enable_cli=1 zend_extension=opcache
- Version non-thread-safe de PHP
- Utilisation en module FastCgi dans IIS
Installation
- Décompresser le fichier « wincache-2.0.0.8-dev-7.2.beta2-nts-vc15-xxx.exe » (ou un autre fichier .exe, en fonction de la version)
- Copier la dll « php_wincache.dll » dans le répertoire « ext » de PHP
- Ajouter la ligne « extension=wincache » au fichier « php.ini »
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions
;;;;;;;;;;;;;;;;;;;;;;
(...)
extension=wincache
(...)
Les autres versions de Wincache pour PHP 7.x disponibles
Pour PHP 7.3
wincachewpi-2.0.0.8-7.3-nts-vc15-x64.exe
wincachewpi-2.0.0.8-7.3-nts-vc15-x86.exe
Pour PHP 7.4
wincache-2.0.0.8-dev-7.4-nts-vc15-x64.exe
wincache-2.0.0.8-dev-7.4-nts-vc15-x86.exe
Modifier les paramètres de WinCache
Pour modifier les valeurs par défaut de WinCache, il suffit d’ajouter au fichier « php.ini » leurs attributs.
Par exemple :
[wincache]
wincache.fcachesize = 32
wincache.maxfilesize = 512
wincache.ttlmax = 0
Vous pouvez trouver la liste des attributs possibles, leur valeur par défaut ainsi que leur plage, sur le site de PHP : Runtime Configuration de WinCache.
Plus précisément, les paramètres pouvant être configurés avec WinCache 2 sont
- wincache.fcenabled : pour activer ou non le cache en mémoire des fichiers
- wincache.fcenabledfilter : pour filtrer sur quel(s) site(s) activer le cache ou non
- wincache.fcachesize : la taille en Mo de mémoire du cache de fichiers
- wincache.fcndetect : pour activer ou non la détection de modification des fichiers
- wincache.maxfilesize : la taille maximale pour qu’un fichier soit mis en cache
- wincache.filecount : le nombre maximal de fichiers mis en cache
- wincache.chkinterval : intervalle (en secondes) pour vérifier si un fichier à été modifié
- wincache.ttlmax : la durée du cache avant sa purge
- wincache.enablecli : pour activer ou non WinCache en mode ligne de commande de PHP
- wincache.ignorelist : les fichiers à ne pas mettre en cache
- wincache.namesalt : un préfixe à ajouter éventuellement lors de la mise en cache
- wincache.ucenabled : pour activer ou non le cache en mémoire des utilisateurs
- wincache.ucachesize : la taille en Mo de mémoire du cache utilisateur
- wincache.scachesize : la taille en Mo de mémoire du cache de session
- wincache.filemapdir : pour définir l’emplacement de fichiers temporaire du cache
Pour en savoir plus sur le cache d’Opcode
Si vous ne savez pas ce qu’est le cache d’opcode, je vous conseille la vidéo de Jonathan de Grafikart qui explique tout ça très clairement.