Comment activer correctement OPCache de PHP 5.5 dans Ubuntu 14.04?

10

J'installe un serveur local pour tester les configurations; il s'agit d'un serveur LAMP 14.04 propre, tel que sélectionné lors de l'installation du système d'exploitation.

Si je comprends bien, OPCache est livré avec PHP 5.5 ( php -vconfirme cela) mais dans un état désactivé. J'ai suivi les suggestions d'Internet pour l'activer, mais je reçois des messages mitigés pour savoir si cela a réussi ou non.

Mon php.inia

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 qu'il est apparemment activé et simultanément désactivé.

Est-il possible d'activer OPCache avec le package PHP du référentiel 14.04, ou dois-je compiler PHP à partir des sources?

mtdevans
la source

Réponses:

8

Pour une raison quelconque, la configuration fast_shutdown=1causait des problèmes et empêchait OPCache de démarrer. Une fois ce paramètre défini 0, OPCache est correctement installé et fonctionne (peut-être lié à ce bogue ?).

Tout ce qui est nécessaire donc pour permettre OPCache est de définir

; Determines if Zend OPCache is enabled
opcache.enable=1

dans Apache php.inisuivi d'un redémarrage du serveur

service apache2 restart

Note latérale: a php -itendance à utiliser un système différent php.inid'Apache (par exemple /etc/php5/cli/php.ini), d'où la divergence déroutante dans la question d'origine.

mtdevans
la source
Cela n'a pas résolu mon problème. Avez-vous d'autres idées? J'utilise php5-fpm et édite le bon php.ini (arrêt rapide changé de 1 à 0 dans PHPInfo) et j'ai redémarré php5-fpm ainsi que nginx
Maciej Swic
Pour moi toujours le même problème: / logs: [sam 13 juin 19: 54: 33.435550 2015] [core: notice] [pid 19088] AH00060: défaut seg $ PHP Attention: Module 'Zend OPcache' déjà chargé en Inconnu sur la ligne 0 PHP Attention: Zend OPcache: l'enregistrement du module a échoué! dans Inconnu sur la ligne 0
Codium
Je l'ai compris. J'ai installé opcache via sudo php5enmod opcache
Codium
Donc, si /etc/php5/cli/php.iniest incorrect, quel est le bon chemin?
Qian Chen
2

J'ai fait face à 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 se trouve dans

/etc/php5/cli/conf.d 

Entrez ensuite ce qui suit

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 comme le statut Opcache pour vérifier si tout va bien et cela vous aidera avec les zones à affiner.

J'espère que cela aide quelqu'un.

Vinu D
la source
1

J'ai rencontré 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.inivers ../../mods-available/opcache.iniet un 20-opcache.inipointant vers le même endroit. Cela provoquait un conflit.

J'en ai supprimé un (le 20 depuis qui avait une date de modification ultérieure), redémarré php-fpm, et tout est revenu.

apple4ever
la source
0

le fichier correct est :/etc/php5/apache2/conf.d/user.ini

Hanmant
la source