Blog / Article #41
Ajouter extension php Zend OPcache dans Wamp

star

10 Octobre 2015

Ajouter extension php zend opcache dans wamp

wamp opcache

Besoin de Zend OPcache

En voulant tester la RC1 de Drupal 8 en local, je me suis retrouvé confronté à une sorte de vérificateur de config qui me dit qu'il me faudrait l'extension op_cache pour faire tourner le machin. Alors voila comment on fait pour rajouter ca dans wamp, sous windows donc...

Config du php.ini

Pour faire court, Il faut chercher la section [opcache] dans le fichier de configuration php.ini (le php.ini à modifier est celui qui se trouve coté apache). Si cette section n'existe pas il faut la créer. Juste avant vous devez rajouter l'inclusion du DLL avec cette ligne :

zend_extension=php_opcache.dll

Ensuite copiez ce qui suit dans la section [opcache] :

; Determines if Zend OPCache is enabled
opcache.enable=1
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0
; The OPcache shared memory storage size.
opcache.memory_consumption=64
; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=4
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=2000
; The maximum percentage of "wasted" memory until a restart is scheduled.
opcache.max_wasted_percentage=5
; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
opcache.use_cwd=1
; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=1
; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
opcache.revalidate_freq=2
; Enables or disables file search in include_path optimization
opcache.revalidate_path=0
; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
opcache.save_comments=0
; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
; may be always stored (save_comments=1), but not loaded by applications
; that don't need them anyway.
opcache.load_comments=0
; If enabled, a fast shutdown sequence is used for the accelerated code
opcache.fast_shutdown=1
; Allow file existence override (file_exists, etc.) performance feature.
opcache.enable_file_override=0
; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
opcache.optimization_level=0xffffffff

Voila, après un redémarrage des services de wamp. J'ouvre un phpinfo() et je constate l'apparition merveilleuse de Zend OPcache. Opération terminée :)


Et pour info, j'ai été confronté à cette erreur :

Doctrine\Common\Annotations\AnnotationException: [Semantical Error] The class "Drupal\Core\Render\Annotation\FormElement" is not annotated with @Annotation. Are you sure this class can be used as annotation? If so, then you need to add @Annotation to the class doc comment of "Drupal\Core\Render\Annotation\FormElement". If it is indeed no annotation, then you need to add @IgnoreAnnotation("FormElement") to the class doc comment of class Drupal\Core\Datetime\Element\Datelist. in Doctrine\Common\Annotations\AnnotationException::semanticalError()

Qui se répare simplement en passant deux valeurs de config opcache à 1 (enabled) comme ceci :

opcache.save_comments=1
opcache.load_comments=1

(J'ai galéré pour trouver ^^)


Ayez pitié d'un pauvre petit dev web, donnez un +1...

Auteur de l'article
Retour a la liste