Précisions sur OpCache

This commit is contained in:
whirigoyen 2022-01-12 17:31:39 +01:00
parent a6cb0e660c
commit 7b3c0b3ce2

View file

@ -732,9 +732,9 @@ Pour surveiller OpCache on peut utiliser :
* <https://github.com/amnuts/opcache-gui>
* Plugin Munin <https://github.com/munin-monitoring/contrib/blob/master/plugins/php/php_opcache> + <https://github.com/munin-monitoring/contrib/blob/master/plugins/php/php_opcache.php>
Pour que OpCache détecte bien les changements dans les fichiers PHP et les déploiements (notamment lorsque des liens symboliques sont utilisés), il faut changer les paramètres FastCGI par défaut du vhost. Sinon, c'est le byte-code des anciens fichiers qui sera exécuté par le serveur.
*Attention :** OpCache ne détecte pas les changements dans le code PHP lorsque les déploiements sont fait avec des liens symboliques).
Par exemple, pour Nginx, dans le bloc où l'on indique le chemin du socket PHP, il faut ajouter après la dernière directive :
Avec **Nginx**, la solution est de changer les paramètres FastCGI suivants dans le vhost. Dans le bloc où l'on indique le chemin du socket PHP, il faut ajouter après la dernière directive :
~~~
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
@ -743,6 +743,8 @@ fastcgi_param DOCUMENT_ROOT $realpath_root;
Ces paramètres doivent être indiqués après les inclusions (par exemple `include snippets/fastcgi-php.conf;`), car sinon les paramètres contenus dans la configuration inclue risqueraient d'écraser ceux que l'on vient d'ajouter.
**Apache** ne propose pas de solution similaire. Pour rafraichir le cache, il faut alors soit exécuter la fonction PHP opcache_reset(), soit reloader le service PHP-FPM après le déploiement.
## HHVM