Uma das linguagens de programação mais utilizadas hoje por milhões de usuários é o PHP, que é útil e prático para o desenvolvimento de aplicativos e pode ser encontrado em todos os servidores de hospedagem disponíveis hoje.
Uma das vantagens de usar o PHP são suas ótimas opções de usar várias extensões em sua distribuição padrão; com o qual os usos do PHP para o desenvolvimento das aplicações são expandidos de forma faseada. Uma dessas extensões é o OPcache, que ajuda a melhorar o desempenho geral do PHP.
É por esta razão que hoje e através deste estudo, Solvetic irá explicar como instalar e configurar o OPcache no CentOS 7 para ser ainda mais produtivo com o PHP.
O que é OPcache?O OPcache foi desenvolvido buscando melhorar o desempenho do PHP armazenando o código de byte de um script pré-compilado em memória compartilhada, eliminando assim a necessidade da própria linguagem PHP carregar e analisar os scripts em cada solicitação, o que é traduzido finalmente em melhor desempenho .
OPcache está incluído no PHP versão 5.5.0 e posterior e está disponível por meio do PECL para PHP versões 5.2, 5.3 e 5.4.
Nenhuma biblioteca externa é necessária para compilar esta extensão PHP, então ela está disponível para todas as distribuições onde o PHP é executado sem problemas.
1. Como instalar o OPcache no CentOS 7 Linux
Passo 1
Primeiro, vamos instalar o repositório EPEL e depois o repositório REMI usando os seguintes comandos:
yum install epel-release yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmInserimos a letra s para confirmar o download e a instalação.
PROLONGAR
Passo 2
Mais tarde, devemos aceitar as chaves GPG correspondentes:
PROLONGAR
etapa 3
O próximo passo é instalar o yum-utils, que é uma coleção de utilitários para estender as funções padrão do yum, graças a eles, será possível gerenciar repositórios yum, bem como pacotes sem configuração manual e muitas outras tarefas, para sua instalação, executamos o seguinte:
yum install yum-utils
PROLONGAR
Passo 4
Posteriormente devemos confirmar o download e instalação dos pacotes:
PROLONGAR
Etapa 5
Agora, quando o yum-utils foi instalado, devemos usar o yum-config-manager para habilitar o repositório Remi como o repositório padrão para instalar diferentes versões e módulos do PHP, executamos o seguinte com base na versão desejada:
Para PHP 5.5
yum-config-manager --enable remi-php55
Para PHP 5.6
yum-config-manager --enable remi-php56
Para PHP 7.0
yum-config-manager --enable remi-php70
Para PHP 7.1
yum-config-manager --enable remi-php71
Para PHP 7.2
yum-config-manager --enable remi-php72
PROLONGAR
Etapa 6
Por fim, procedemos à instalação da extensão OPcache e verificamos a versão do PHP para confirmar que possuímos a extensão OPcache instalada, para isso utilizamos os seguintes comandos. Aceitamos o download e instalação do OPcache.
yum install php-opcache
PROLONGAR
Etapa 7
Verificamos a versão do PHP e se possui OPcache. Observe o resultado final com Zend OPcache v7.0.5, isso indica que o Opcache está instalado corretamente no CentOS 7.
PROLONGAR
2. Como configurar a extensão Opcache no CentOS 7 Linux
Passo 1
A última etapa é configurar o OPcache editando o arquivo /etc/php.d/10-opcache.ini ou /etc/php.d/opcache.ini (conforme o caso) com nosso editor desejado:
nano /etc/php.d/opcache.iniLá podemos aplicar os seguintes valores para obter um melhor desempenho do PHP:
opcache.enable_cli = 1 opcache.memory_consumption = 128 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 4000 opcache.revalidate_freq = 60 opcache.fast_shutdown = 1
PROLONGAR
Salvamos as alterações usando as seguintes chaves:
Ctrl + O
Saímos do editor usando as seguintes teclas:
Ctrl + X
Passo 2
Prosseguimos para reiniciar o servidor da web executando uma das seguintes linhas:
systemctl restart nginx OU systemctl restart httpdNo arquivo opcache.ini existem as seguintes variáveis com seus respectivos usos:
Esta opção ativa o cache de opcode. Quando desativado, o código não é otimizado ou armazenado em cache
opcache.enable boolean
Esta opção ativa o cache de opcode para a versão CLI do PHP
opcache.enable_cli boolean
Gerencia o tamanho do armazenamento de memória compartilhada usado pelo OPcache, em megabytes
opcache.memory_consumption integer
Sua função é gerenciar a quantidade de memória usada para armazenar strings, em megabytes.
opcache.interned_strings_buffer integer
Sua tarefa é gerenciar o número máximo de chaves na tabela hash OPcache, seu valor mínimo é 200 e seu valor máximo é 100000 em PHP <5.5.6 e 1000000 em versões posteriores.
opcache.max_accelerated_files integer
Refere-se à porcentagem máxima de memória desperdiçada permitida antes que uma reinicialização seja agendada na extensão.
opcache.max_wasted_percentage integer
Ativá-lo permite que o OPcache adicione o diretório de trabalho atual à chave do script, eliminando assim possíveis colisões entre arquivos com o mesmo nome de base.
opcache.use_cwd boolean
Com ele ativado, o OPcache consultará os scripts atualizados a cada opcache.revalidate_freq segundos.
opcache.validate_timestamps boolean
Mede a frequência de verificação de timestamps Unix de scripts baseados em atualização, em segundos opcache.revalidate_path boolean: quando desabilitado, os arquivos em cache existentes que usam o mesmo include_path serão reutilizados pelo OPcache.
opcache.revalidate_freq integer
Quando desativado, todos os comentários da documentação serão removidos do cache do opcode para reduzir o tamanho do código otimizado.
opcache.save_comments boolean
Com sua ativação, uma sequência de desligamento rápido é criada, a qual é usada de forma que não libere cada bloco alocado, mas depende do gerenciador de memória Zend Engine para otimizar o desligamento do PHP.
opcache.fast_shutdown boolean
É um bitmask que controla quais permissões de otimização são executadas pelo OPcache
opcache.optimization_level integer
É um hack que deve ser habilitado para funcionar apenas para evitar erros "Não é possível redeclarar a classe
opcache.dups_fix boolean
Indica o tamanho máximo do arquivo que será armazenado em cache, em bytes
opcache.max_file_size integer
Refere-se à quantidade de tempo de espera pelo início de uma reinicialização agendada se o cache não estiver ativo, em segundos
opcache.force_restart_timeout integer
Os logs de erro do OPcache são armazenados lá
string opcache.error_log
É o modelo de memória principal que o OPcache usará
string opcache.preferred_memory_model
Sua tarefa é proteger a memória compartilhada de gravações inesperadas durante a execução de scripts
opcache.protect_memory boolean
Sua função é chamar funções da API OPcache apenas a partir de scripts PHP cujo caminho começa com a string especificada
string opcache.restrict_api
As funções gerais do OPcache são
Ele se encarrega de compilar e armazenar em cache um script PHP sem executá-lo
opcache_compile_file
Obtém informações de configuração sobre o cache
opcache_get_configuration
Permite acesso a informações de status sobre o cache
opcache_get_status
Invalide um script em cache
opcache_invalidate
Indica se um script é armazenado em cache no OPcache
opcache_is_script_cached
Permite que você reinicie o conteúdo do cache de opcode
opcache_reset
Como podemos ver, esta extensão do PHP será útil para melhorar significativamente o desempenho desta linguagem e assim funcionar de uma forma muito mais abrangente.