Je configure un serveur local pour tester les configurations; c'est un serveur 14.04 LAMP vierge, sélectionné lors de l'installation du système d'exploitation.
Si je comprends bien, OPCache est livré avec PHP 5.5 (php -v
le confirme) mais dans un état désactivé. J'ai suivi les suggestions d'Internet pour l'activer, mais je reçois des messages contradictoires quant à savoir si cela a réussi ou non.
Mon php.ini
a
zend_extension=/usr/lib/php5/20121212/opcache.so
opcache.enable=1
opcache.enable_cli=1
pourtant php -i
, après avoir redémarré la machine, me dit
Opcode Caching => Disabled
Optimization => Disabled
Startup Failed => Opcode Caching is disabled for CLI
opcache.enable => On => On
opcache.enable_cli => Off => Off
c'est-à-dire il est apparemment activé et désactivé simultanément.
L'activation d'OPCache est-elle possible avec le package de référentiel 14.04 PHP ou dois-je compiler PHP à partir du code source?
Pour une raison quelconque, définir fast_shutdown=1
posait problème et empêchait le démarrage d’OPCache. Une fois que ceci a été défini sur 0
, OPCache est opérationnel et fonctionne correctement (éventuellement lié à ce bogue ?).
Tout ce qui est nécessaire pour activer OPCache est donc de définir
; Determines if Zend OPCache is enabled
opcache.enable=1
dans le php.ini
d'Apache suivi d'un redémarrage du serveur
service Apache2 restart
Remarque secondaire: php -i
a tendance à utiliser un php.ini
différent d'Apache (par exemple, /etc/php5/cli/php.ini
), d'où la divergence déroutante dans la question initiale.
J'ai rencontré ce même problème tout au long de la journée et je suis heureux de l'avoir résolu de la manière suivante. Bien que la réponse ci-dessus soit marquée comme une réponse, il ressort clairement des commentaires de cette réponse qu'elle ne répond pas complètement à la question.
Le fichier correct à activer est en
/etc/php5/cli/conf.d
Puis entrez ce qui suit ici
zend_extension=opcache.so
opcache.memory_consumption=128
opcache.max_accelerated_files=2500
opcache.interned_strings_buffer=8
opcache.revalidate_freq=60
opcache.fast_shutdown=1
N'oubliez pas de redémarrer Apache
Utilisez un outil tel que Statut Opcache pour vérifier si tout va bien et cela vous aidera avec les zones à ajuster.
J'espère que ça aide quelqu'un.
Je me suis heurté à cela lors de l'utilisation de php-fpm. J'ai découvert dans /etc/php5/fpm/conf.d qu'il y avait un lien symbolique 05-opcache.ini
vers ../../mods-available/opcache.ini
et un 20-opcache.ini
pointant au même endroit. Cela causait un conflit.
J'ai enlevé un (le 20 depuis que eu une date de modification ultérieure), redémarré php-fpm, et tout est revenu.
le fichier correct est :/etc/php5/Apache2/conf.d/user.ini