Ajouter extension php zend opcache dans wamp
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 ^^)
Retour a la liste