Como habilito corretamente o OPCache do PHP 5.5 no Ubuntu 14.04?

10

Estou configurando um servidor local para testar configurações; é um servidor LAMP 14.04 limpo, conforme selecionado durante a instalação do SO.

Se bem entendi, o OPCache vem com o PHP 5.5 ( php -vconfirma isso), mas em um estado desativado. Eu segui as sugestões da Internet para habilitá-lo, no entanto, estou recebendo mensagens contraditórias sobre se isso foi ou não bem-sucedido.

Meu php.initem

zend_extension=/usr/lib/php5/20121212/opcache.so
opcache.enable=1
opcache.enable_cli=1

ainda assim php -i, depois de reiniciar a máquina, está me dizendo

Opcode Caching => Disabled
Optimization => Disabled
Startup Failed => Opcode Caching is disabled for CLI

opcache.enable => On => On
opcache.enable_cli => Off => Off

isto é, aparentemente ativado e simultaneamente desativado.

É possível ativar o OPCache com o pacote PHP do repositório 14.04 ou preciso compilar o PHP a partir da fonte?

mtdevans
fonte

Respostas:

8

Por alguma razão, a configuração fast_shutdown=1estava causando problemas e impedindo a inicialização do OPCache. Depois que isso foi definido 0, o OPCache está funcionando com êxito (possivelmente relacionado a esse bug ?).

Portanto, tudo o que é necessário para ativar o OPCache é definir

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

no Apache php.iniseguido de uma reinicialização do servidor

service apache2 restart

Nota lateral: php -itende a usar um php.iniApache diferente (por exemplo /etc/php5/cli/php.ini), daí a discrepância confusa na pergunta original.

mtdevans
fonte
Isso não resolveu meu problema. Mais alguma ideia? Eu estou usando php5-fpm e estou editando o php.ini correta (desligamento rápido mudado de 1 a 0 no phpinfo) e eu fiz restart php5-fpm, bem como nginx
Maciej Swic
Para mim ainda o mesmo problema: / logs: [Sat Jun 13 19: 54: 33.435550 2015] [núcleo: aviso] [pid 19088] AH00060: falha seg $ PHP Aviso: Módulo 'Zend OPcache' já carregado em Desconhecido na linha 0 PHP Aviso: Zend OPcache: falha no registro do módulo! em Desconhecido na linha 0
Codium
Eu descobri isso. Eu instalei o opcache via sudo php5enmod opcache
Codium
Portanto, se /etc/php5/cli/php.iniestiver incorreto, qual é o caminho correto?
Qian Chen
2

Enfrentei exatamente o mesmo problema ao longo do dia e estou feliz por ter resolvido da maneira abaixo. Embora a resposta acima esteja marcada como resposta, fica claro nos comentários dessa resposta que ela não responde completamente à pergunta.

O arquivo correto para ativar está em

/etc/php5/cli/conf.d 

Em seguida, digite o seguinte lá

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ão se esqueça de reiniciar o apache

Use uma ferramenta como o status Opcache para verificar se está tudo bem e isso ajudará você nas áreas a serem ajustadas.

Espero que ajude alguém.

Vinu D
fonte
1

Eu me deparei com isso ao usar php-fpm. Eu descobri no /etc/php5/fpm/conf.d que havia um link simbólico 05-opcache.inipara o ../../mods-available/opcache.inie outro 20-opcache.iniapontando para o mesmo local. Isso estava causando um conflito.

Eu removi um (os 20 desde que tiveram uma data de modificação posterior), reiniciei o php-fpm e tudo voltou.

apple4ever
fonte
0

arquivo correto é :/etc/php5/apache2/conf.d/user.ini

Hanmant
fonte