PHP 5.5 a été publié et il dispose d'un nouveau module de mise en cache de code appelé OPCache, mais il ne semble pas y avoir de documentation pour cela.
Alors, où est la documentation et comment utiliser OPcache?
PHP 5.5 a été publié et il dispose d'un nouveau module de mise en cache de code appelé OPCache, mais il ne semble pas y avoir de documentation pour cela.
Alors, où est la documentation et comment utiliser OPcache?
OpCache est compilé par défaut sur PHP5.5+. Cependant, il est désactivé par défaut. Pour commencer à utiliser OpCache en PHP5.5+, vous devez d'abord l'activer. Pour ce faire, vous devez faire ce qui suit.
Ajoutez la ligne suivante à votre php.ini
:
zend_extension=/full/path/to/opcache.so (nix)
zend_extension=C:\path\to\php_opcache.dll (win)
Notez que lorsque le chemin d'accès contient des espaces, vous devez envelopper dans des guillemets:
zend_extension="C:\Program Files\PHP5.5\ext\php_opcache.dll"
Notez également que vous devrez utiliser l' zend_
directive au lieu de "normal" extension
directive, car elle affecte la valeur de Zend engine (c'est à dire la chose qui exécute PHP).
Actuellement, il existe quatre fonctions que vous pouvez utiliser:
extension
:Retourne un tableau contenant la configuration actuellement utilisée OpCache utilise. Cela inclut tous les paramètres ini ainsi que les informations de version sur liste noire et fichiers.
opcache_get_configuration()
var_dump(opcache_get_configuration());
:Cela va retourner un tableau avec des informations sur l'état actuel de la cache. Ces informations comprennent des choses comme: l'état du cache est activé, le redémarrage, complet, etc), l'utilisation de la mémoire, de visites, de manque et certaines des informations plus utiles. Il contient également de la mise en cache des scripts.
opcache_get_status()
var_dump(opcache_get_status());
:Réinitialise le cache entier. Sens possible mise en cache des scripts seront analysés à nouveau sur la prochaine visite.
opcache_reset()
opcache_reset();
:Invalide une spécifiques mis en cache script. Sens le script sera analysé à nouveau sur la prochaine visite.
opcache_invalidate()
Il y a quelques GUI est créé pour aider à maintenir OpCache et de générer des rapports utiles. Ces outils exploitent les fonctions ci-dessus.
OpCacheGUI
Avertissement je suis l'auteur de ce projet
Caractéristiques:
Captures d'écran:
URL: https://github.com/PeeHaa/OpCacheGUI
opcache-statut
Caractéristiques:
Capture d'écran:
URL: https://github.com/rlerdorf/opcache-status
opcache-gui
Caractéristiques:
Capture d'écran:
Parce que OPcache est conçu pour remplacer le module APC, il n'est pas possible de les faire fonctionner en parallèle en PHP. C'est très bien pour la mise en cache opcode PHP ni affecte la façon dont vous écrivez du code.
Mais cela signifie que si vous êtes actuellement à l'aide de l'APC pour stocker d'autres données (par le biais de l' apc_store()
de la fonction), vous ne serez pas en mesure de le faire si vous décidez d'utiliser OPCache.
Vous aurez besoin d'utiliser une autre bibliothèque, telles que la APCu ou Yac qui à la fois de stocker des données partagées en mémoire de PHP, ou d'un commutateur à utiliser quelque chose comme memcached, qui stocke les données en mémoire dans un processus séparé pour PHP.
Aussi, OPcache a pas d'équivalent de l'avancement du téléchargement compteur présent dans les APC. Au lieu de cela, vous devez utiliser la Session de l'Avancement du Téléchargement.
La documentation pour OPcache peut être trouvé ici avec toutes les options de configuration décrites ici. Les paramètres recommandés sont:
; Sets how much memory to use
opcache.memory_consumption=128
;Sets how much memory should be used by OPcache for storing internal strings
;(e.g. classnames and the files they are contained in)
opcache.interned_strings_buffer=8
; The maximum number of files OPcache will cache
opcache.max_accelerated_files=4000
;How often (in seconds) to check file timestamps for changes to the shared
;memory storage allocation.
opcache.revalidate_freq=60
;If enabled, a fast shutdown sequence is used for the accelerated code
;The fast shutdown sequence doesn't free each allocated block, but lets
;the Zend Engine Memory Manager do the work.
opcache.fast_shutdown=1
;Enables the OPcache for the CLI version of PHP.
opcache.enable_cli=1
Si vous utilisez une bibliothèque ou un code qui utilise du code des annotations, vous devez activer enregistrer les commentaires:
opcache.save_comments=1
Si désactivé, toutes les PHPDoc commentaires sont supprimés à partir du code de réduire la taille de l'optimisation de code. La désactivation de "Doc Commentaires" peut casser certaines applications existantes et les cadres (par exemple, la Doctrine, zend framework 2, PHPUnit)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.