Como habilitar 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 eu entendi corretamente, o OPCache vem com o PHP 5.5 ( php -v confirma isso), mas em um estado desativado. Eu segui as sugestões da Internet para ativá-lo, mas estou recebendo mensagens confusas sobre se isso foi ou não bem-sucedido.

Meu php.ini tem

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

ainda 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 é, está aparentemente ativado e simultaneamente desativado.

A ativação do OPCache é possível com o pacote do repositório 14.04, ou eu preciso compilar o PHP a partir do código-fonte?

    
por mtdevans 01.07.2014 / 01:35

4 respostas

8

Por algum motivo, definir fast_shutdown=1 estava causando problemas e impedindo que o OPCache fosse iniciado. Uma vez que isso foi definido como 0 , o OPCache está ativo e em execução (possivelmente relacionado ao bug ? ).

Tudo o que é necessário para permitir que o OPCache seja definido

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

no php.ini do Apache seguido por uma reinicialização do servidor

service apache2 restart

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

    
por mtdevans 01.07.2014 / 13:45
2

Eu enfrentei exatamente esse mesmo problema durante o dia e estou feliz por tê-lo resolvido da maneira abaixo. Embora a resposta acima seja marcada como uma resposta, fica claro, pelos comentários, que ela não responde completamente à pergunta.

O arquivo correto para ativar está em

/etc/php5/cli/conf.d 

Em seguida, digite o seguinte aqui

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 do Opcache para verificar se tudo está bem e isso ajudará você nas áreas a ajustar.

Espero que ajude alguém.

    
por Vinu D 02.08.2015 / 21:04
1

Eu corri para isso quando usando php-fpm. Eu descobri em /etc/php5/fpm/conf.d que havia um link simbólico 05-opcache.ini para ../../mods-available/opcache.ini e um 20-opcache.ini apontando para o mesmo lugar. Isso estava causando um conflito.

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

    
por apple4ever 26.08.2016 / 17:51
0

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

    
por Hanmant 16.08.2016 / 09:13