Nesse post iremos ver alguns ajustes essenciais do PHP.ini para melhorar o desempenho das páginas Web criadas em PHP.
O arquivo php.ini parece assustador à primeira vista, mas depois que nos acostumamos com ele iremos achar bastante fácil de usá-lo.
Configurar ou ajustar bem o php.ini é importante porque esse arquivo de configuração do PHP controla vários aspectos do funcionamento do servidor, como limites de memória, tempo de execução, exibição de erros e extensões habilitadas. Ao configurar corretamente o php.ini, é possível otimizar o desempenho, garantir a segurança e resolver problemas específicos relacionados ao PHP em um ambiente de hospedagem.
Veja também: Onde está o arquivo php.ini? – sugiro que use esse link para mais informações sobre como encontrar o arquivo php.ini – porém, como auxílio extra irei tentar postar alguma coisa abaixo.
Onde encontro o arquivo php.ini?
Os ite php.net fala,
O arquivo de configuração (php.ini) é lido quando o PHP é inicializado. Para as versões do módulo servidor do PHP, isso acontece apenas uma vez quando o servidor web é iniciado. Para as versões CGI e CLI, isso acontece a cada chamada.
php.net
Não se preocupe se não entender muito bem o trecho acima, é bom sabermos que o PHP lê o arquivo php.ini assim que inicia. Ele executará tudo o que estiver ajustado em seus parâmetros.
Você poderá encontrar o php.ini em um desses locais:
Windows
- Diretório do Windows: C:\windows ou C:\winnt
- Diretório do PHP: C:\php\php.ini (ou C:\xampp\php\php.ini, se você estiver usando o XAMPP)
- Opção de tempo de compilação –with-config-file-path: Para encontrar o caminho do arquivo php.ini usado pelo PHP, você pode usar a opção –ini. Por exemplo, para executar o PHP com o arquivo php.ini no diretório C:\php, você pode usar o seguinte comando:
php --ini
Linux
- Diretório do servidor web: /etc/apache2/conf.d/php.ini (ou /etc/nginx/conf.d/php.ini, se você estiver usando o Nginx)
- Diretório do PHP: /etc/php/7.4/cli/php.ini (ou /etc/php/7.4/fpm/php.ini, se você estiver usando o PHP-FPM)
- Opção de tempo de compilação –with-config-file-path: Para encontrar o caminho do arquivo php.ini usado pelo PHP, você pode usar a opção –ini. Por exemplo, para executar o PHP com o arquivo php.ini no diretório /etc/php/7.4/cli, você pode usar o seguinte comando:
php --ini
MacOS
- Diretório do PHP: /etc/php/7.4/cli/php.ini
- Opção de tempo de compilação –with-config-file-path: Para encontrar o caminho do arquivo php.ini usado pelo PHP, você pode usar a opção –ini. Por exemplo, para executar o PHP com o arquivo php.ini no diretório /etc/php/7.4/cli, você pode usar o seguinte comando:
php --ini
Ajustes no php.ini para melhorar o desempenho do PHP
Se você estiver executando um site ou aplicativo da web com PHP, poderá ter encontrado problemas com tempos de carregamento lentos, alto uso de memória ou outros problemas de desempenho. Felizmente, existem vários ajustes que você pode fazer no arquivo de configuração do PHP (php.ini) para otimizar seus scripts e melhorar o desempenho do seu site.
Vamos ver a seguir dicas de como melhorar o acesso à nossas páginas web escritas em PHP através de ajustes em parâmetros no arquivo php.ini.
Vamos ver cada um dos itens importantes para fazer jus ao títulos desse artigo: “PHP: Ajustes Essenciais do PHP.ini para Melhorar o Desempenho“
Aumentar memory_limit
A configuração memory_limit – ou limite de memória – controla a quantidade máxima de memória que o PHP pode usar. Se estiver executando scripts que exigem mais memória do que o valor padrão, você precisará aumentar esse limite. Para aumentar o limite de memória, adicione a seguinte linha ao seu arquivo php.ini:
memory_limit = 512M
Isso define o limite de memória para 256 megabytes, o que deve ser suficiente para a maioria dos aplicativos da web.
Aumentar max_execution_time
O max_execution_time
é uma diretiva do arquivo php.ini
que define o tempo máximo, em segundos, que um script PHP pode ser executado antes de ser interrompido pelo servidor. Essa configuração é importante para evitar que scripts demorem muito tempo para serem executados e causem problemas de desempenho ou travamento do servidor. O valor padrão é geralmente definido como 30 segundos, mas pode ser ajustado de acordo com as necessidades do projeto.
max_execution_time = 120
Acima defini a diretiva max_execution_time como 120 segundos, o que deve ser suficiente para a maioria dos aplicativos da web.
Desabilitar display_errors
A diretiva display_errors
no arquivo php.ini
controla se os erros do PHP são exibidos ou não na tela.
Essa diretiva é bom estar ativada quando estamos desenvolvendo nossos programas em PHP para que vejamos detalhes dos erros quando ocorrerem, mas para o usuário final não faz sentido.
- Quando definido como
On
, os erros serão exibidos na tela. - Quando definido como
Off
, os erros não serão exibidos na tela.
Para desabilitar deixe assim,
display_errors = Off
Isso desativa display_errors, evitando que mensagens de erro sejam exibidas ao usuário.
Como disse logo acima, é recomendado desabilitar a exibição de erros (display_errors = Off
) em ambientes de produção para evitar que informações sensíveis sejam expostas aos usuários. No entanto, em ambientes de desenvolvimento ou depuração, é útil habilitar a exibição de erros (display_errors = On
) para identificar e corrigir problemas no código. Além disso, é importante verificar os logs de erro do servidor para obter informações detalhadas sobre os erros ocorridos.
Habilitar opcache
OPcache é um mecanismo de cache para PHP que pode melhorar significativamente o desempenho de seus scripts, reduzindo o tempo necessário para analisá-los e executá-los. Para habilitar o OPcache, adicione as seguintes linhas ao seu arquivo php.ini:
zend_extension=opcache opcache.enable=1
Isso habilita o OPcache e o define como ativo.
Aumentar upload_max_filesize
A diretiva upload_max_filesize
no arquivo php.ini
define o tamanho máximo permitido para o upload (envio) de arquivos em um script PHP. Se você administra um site que permite aos usuários fazer upload de arquivos grandes, será necessário aumentar esse limite. Para aumentar upload_max_filesize, adicione a seguinte linha ao seu arquivo php.ini:
upload_max_filesize = 64M
Isso define upload_max_filesize para 64 megabytes, o que deve ser suficiente para a maioria dos aplicativos da web.
Desativar allow_url_fopen
A configuração allow_url_fopen controla se o PHP pode acessar arquivos remotos através de uma URL. Por motivos de segurança, é melhor desabilitar esta configuração em um servidor de produção. Para desabilitar allow_url_fopen, adicione a seguinte linha ao seu arquivo php.ini:
allow_url_fopen = Off
Isso desativa o Allow_url_fopen, evitando que o PHP acesse arquivos remotos através de uma URL.
é usada para permitir ou desabilitar a abertura de URLs através das funções fopen()
, file_get_contents()
, entre outras.
Habilitar compactação gzip
A ativação da compactação gzip pode melhorar significativamente o desempenho do seu site, reduzindo a quantidade de dados que precisam ser transmitidos entre o servidor e o cliente. Para ativar a compactação gzip, adicione as seguintes linhas ao seu arquivo php.ini:
zlib.output_compression = On zlib.output_compression_level = 5
Isso ativa a compactação gzip e define o nível de compactação como 5.
A compactação Gzip normalmente tem uma variedade de níveis de compactação, variando de 1 (compactação mais baixa, mas mais rápida) a 9 (compactação mais alta, mas mais lenta). O nível de compactação padrão geralmente é 6, o que é um bom equilíbrio entre taxa de compactação e velocidade.
Um nível de compactação mais alto geralmente resultará em um arquivo compactado menor, mas também levará mais tempo para compactar e descompactar. Por outro lado, um nível de compactação mais baixo será mais rápido, mas resultará em um arquivo compactado maior. O nível de compactação ideal dependerá da natureza dos dados que estão sendo compactados e da compensação entre taxa de compactação e desempenho.
Habilitar realpath_cache
O realpath_cache
é uma configuração do arquivo php.ini
que define o tamanho máximo da cache de caminhos reais no PHP. Essa cache é usada para armazenar os caminhos reais dos arquivos e diretórios para melhorar o desempenho do sistema de arquivos. O valor padrão é 4096, mas pode ser ajustado de acordo com as necessidades do seu aplicativo.
Em outras palavras, a diretiva realpath_cache pode melhorar o desempenho das operações de arquivo no PHP, reduzindo o número de operações de disco necessárias para resolver caminhos de arquivo. Para habilitar o cache realpath, adicione as seguintes linhas ao seu arquivo php.ini:
realpath_cache_size = 16M realpath_cache_ttl = 120
Isso permite o realpath_cachee seja alterado o tamanho do cache para 16 megabytes e o tempo de vida para 120 segundos.
Habilitar cache de sessão no PHP
O cache de sessão pode melhorar o desempenho do seu site, reduzindo o número de operações de disco necessárias para armazenar e recuperar dados da sessão. Para habilitar o cache de sessão, adicione as seguintes linhas ao seu arquivo php.ini:
session.save_handler = files session.save_path = /var/lib/php/sessions session.cache_limiter = public session.cache_expire = 180
Isso define o manipulador (handler) de salvamento da sessão para arquivos, especifica o local dos arquivos da sessão, define o limitador de cache como público e define o tempo de expiração do cache para 180 segundos.
É importante notar que isso só funcionará com uma aplicação web executada em um único servidor. Se você estiver otimizando um aplicativo Web com balanceamento de carga em vários servidores, precisará usar um mecanismo de armazenamento compartilhado, como banco de dados, sistema de arquivos compartilhado ou memcached para armazenar dados de sessão.
Conclusão
Nesse post vimos alguns ajustes essenciais do php.ini para melhorar o desempenho de nossas paginas em PHP e coim certeza você verá uma grande diferença após alterar cada parâmetro mostrado cima.
Embora nem todas as alterações possam ser necessárias para seu caso de uso específico, implementar alguns ou todos esses ajustes pode ajudá-lo a aproveitar ao máximo seu aplicativo PHP. Lembre-se sempre de testar seu site após fazer qualquer alteração para garantir que tudo está funcionando conforme o esperado.
Veja também:
- PHP: Alterando o Arquivo php.ini para Habilitar a Exibição de Erros
- PHP: Como Aumentar o Limite de Memória no php.ini – memory_limit
- Como instalar o PHP (8.2, 7.4 e 5.6) no Debian 11
- Grátis: Tutoriais e Aulas para Iniciantes sobre PHP
Fonte: