Como Configurar PHP 8 para WordPress no Servidor

Guia completo para configurar PHP 8 no WordPress. Aprenda a verificar compatibilidade, atualizar e otimizar o PHP no seu servidor.

O PHP 8 trouxe melhorias significativas de performance, segurança e funcionalidades. Para sites WordPress, a atualização pode significar um ganho de velocidade de 2 a 3 vezes em relação ao PHP 7.0, além de acesso a recursos modernos da linguagem.

Neste guia, vamos cobrir todo o processo: desde a verificação de compatibilidade até a configuração otimizada do PHP 8 em diferentes ambientes de servidor, incluindo cPanel, Plesk, Ubuntu com Nginx e Ubuntu com Apache.


Por Que Atualizar para PHP 8?

Performance superior

Os benchmarks são claros. Comparando o tempo de execução de requisições WordPress:

  • PHP 7.0: ~ 100 requisições por segundo (baseline)
  • PHP 7.4: ~ 130 requisições por segundo ( ~ 30% mais rápido)
  • PHP 8.0: ~ 160 requisições por segundo ( ~ 60% mais rápido)
  • PHP 8.1: ~ 170 requisições por segundo (Fibers, Enums)
  • PHP 8.2: ~ 175 requisições por segundo (readonly classes)
  • PHP 8.3: ~ 180 requisições por segundo (typed class constants)

A compilação JIT (Just-In-Time) introduzida no PHP 8.0 é o principal responsável pelo salto de performance, especialmente em operações intensivas de CPU.

Segurança

Cada versão do PHP tem um ciclo de vida com suporte ativo e suporte de segurança. Versões fora do ciclo de vida não recebem mais correções de segurança:

  • PHP 7.4: fim do suporte de segurança em novembro de 2022
  • PHP 8.0: fim do suporte de segurança em novembro de 2023
  • PHP 8.1: fim do suporte de segurança em dezembro de 2025
  • PHP 8.2: suporte de segurança até dezembro de 2026
  • PHP 8.3: suporte de segurança até dezembro de 2027

Usar uma versão sem suporte significa que vulnerabilidades descobertas não serão corrigidas.

Novos recursos da linguagem

O PHP 8 introduziu funcionalidades que tornam o código mais limpo e seguro:

  • Named arguments: facilita chamadas de função com muitos parâmetros
  • Match expression: alternativa mais segura ao switch
  • Union types: permite declarar múltiplos tipos para parâmetros
  • Fibers (8.1): corrotinas para código assíncrono
  • Enums (8.1): tipos enumerados nativos
  • Readonly properties (8.1) e classes (8.2): imutabilidade nativa

PHP 8.0 vs 8.1 vs 8.2 vs 8.3 para WordPress

Qual versão do PHP 8 escolher para o seu WordPress? Aqui está uma orientação prática.

PHP 8.0

Foi a primeira versão da linha 8.x, mas o suporte de segurança já encerrou em novembro de 2023. Não é mais recomendada.

PHP 8.1

Amplamente compatível com o WordPress e com a maioria dos plugins populares. Porém, o suporte de segurança encerrou em dezembro de 2025. Se você está nesta versão, planeje a migração para 8.2 ou 8.3.

PHP 8.2

A escolha mais equilibrada para a maioria dos sites WordPress em 2026. Suporte de segurança até dezembro de 2026, boa compatibilidade com plugins e temas, e performance sólida.

PHP 8.3

A versão mais recente com suporte ativo. Oferece a melhor performance e os recursos mais modernos. Recomendada para sites que já verificaram a compatibilidade de todos os plugins e temas. Suporte até dezembro de 2027.

Recomendação: para a maioria dos sites WordPress em produção, PHP 8.2 ou 8.3 é a melhor escolha. Se todos os seus plugins são mantidos ativamente, vá direto para o PHP 8.3.


Verificando a Versão Atual do PHP

Antes de atualizar, descubra qual versão do PHP está rodando no seu servidor.

Via painel do WordPress

Acesse Ferramentas > Saúde do Site > Informações > Servidor . A linha "Versão do PHP" mostra a versão atual.

Via phpinfo()

Crie um arquivo temporário na raiz do WordPress:

<?php
phpinfo();

Salve como info.php , acesse seusite.com/info.php no navegador e procure pela linha "PHP Version".

Importante: delete esse arquivo imediatamente após a verificação. Ele expõe informações sensíveis sobre o servidor.

Via linha de comando (SSH)

php -v

Resultado esperado:

PHP 8.3.4 (cli) (built: Mar 16 2024 08:40:08) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.4, Copyright (c), by Zend Technologies

Verificando Compatibilidade com PHP 8

Atualizar o PHP sem verificar compatibilidade pode quebrar o site. Plugins e temas antigos podem usar funções removidas nas versões mais recentes do PHP.

Plugin PHP Compatibility Checker

O plugin oficial "PHP Compatibility Checker" verifica todos os plugins e temas instalados:

  1. Instale o plugin PHP Compatibility Checker pelo painel do WordPress
  2. Vá em Ferramentas > PHP Compatibility
  3. Selecione a versão de PHP alvo (ex: 8.3)
  4. Clique em "Scan site"
  5. Aguarde a análise (pode demorar alguns minutos)

O relatório mostra:

  • Erros: código incompatível que vai causar falha fatal
  • Avisos: código que pode causar comportamento inesperado

Verificação manual com PHPStan

Para desenvolvedores, o PHPStan oferece análise mais detalhada:

composer require --dev phpstan/phpstan
vendor/bin/phpstan analyse wp-content/plugins/meu-plugin/ --level 5

O que fazer com plugins incompatíveis

Se um plugin é incompatível com o PHP 8:

  1. Verifique se há atualização disponível para o plugin
  2. Procure uma alternativa que seja compatível
  3. Contate o desenvolvedor do plugin e pergunte sobre planos de compatibilidade
  4. Considere um fork se o plugin é abandonado (último recurso)

Atualizando o PHP no cPanel

A maioria das hospedagens compartilhadas usa cPanel, que permite trocar a versão do PHP com alguns cliques.

Método 1: MultiPHP Manager

  1. Acesse o cPanel da sua hospedagem
  2. Procure por MultiPHP Manager na seção "Software"
  3. Selecione o domínio do seu site na lista
  4. No dropdown de versão do PHP, selecione PHP 8.2 ou PHP 8.3
  5. Clique em "Aplicar"

A mudança é instantânea. Acesse o site para verificar se está funcionando.

Método 2: Select PHP Version (CloudLinux)

Hospedagens que usam CloudLinux oferecem uma interface diferente:

  1. No cPanel, procure por Select PHP Version
  2. Selecione a versão desejada no dropdown superior
  3. Clique em "Set as current"
  4. Configure as extensões PHP necessárias (veja a seção de extensões abaixo)
  5. Clique em "Save"

Extensões PHP necessárias para WordPress

Após trocar a versão, verifique se as extensões essenciais estão habilitadas:

  • mysqli (obrigatória para conexão com o banco de dados)
  • curl (requisições HTTP, atualizações, APIs)
  • gd ou imagick (processamento de imagens)
  • mbstring (manipulação de strings multibyte)
  • xml (parseamento de RSS, sitemaps, importações)
  • zip (instalação de plugins e temas)
  • intl (internacionalização)
  • openssl (conexões HTTPS)
  • opcache (cache de bytecode, performance)

Atualizando o PHP no Plesk

Via interface do Plesk

  1. Acesse o painel do Plesk
  2. Vá em Websites & Domains
  3. Clique no domínio do seu site
  4. Procure por PHP Settings ou Configurações de PHP
  5. Selecione a versão desejada (PHP 8.2 ou 8.3)
  6. Escolha o modo de execução: FPM application (recomendado) ou FastCGI
  7. Clique em "OK" ou "Aplicar"

Ajustando configurações no Plesk

Na mesma tela de PHP Settings, você pode ajustar o php.ini diretamente:

  • memory_limit : 256M ou 512M
  • max_execution_time : 300
  • upload_max_filesize : 64M
  • post_max_size : 64M

Atualizando o PHP no Ubuntu com Nginx

Para servidores VPS ou dedicados rodando Ubuntu com Nginx, o processo é feito via linha de comando.

Adicionando o repositório do PHP

O repositório padrão do Ubuntu pode não ter a versão mais recente do PHP. Adicione o repositório do Ondrej Sury, que é o mantenedor oficial dos pacotes PHP para Debian e Ubuntu:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Instalando o PHP 8.3 com extensões

sudo apt install php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
    php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl \
    php8.3-opcache php8.3-imagick php8.3-bcmath php8.3-soap

Configurando o PHP-FPM

Edite o arquivo de configuração do pool PHP-FPM:

sudo nano /etc/php/8.3/fpm/pool.d/www.conf

Configurações recomendadas para WordPress:

[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
listen.owner = www-data
listen.group = www-data

; Ajuste de acordo com a RAM do servidor
pm = dynamic
pm.max_children = 25
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 10
pm.max_requests = 500

Para calcular o pm.max_children , use a fórmula: RAM disponível para PHP / memória por processo. Cada processo PHP do WordPress consome aproximadamente 40-60 MB.

Atualizando a configuração do Nginx

Edite o bloco de servidor do Nginx para apontar para o novo socket PHP-FPM:

server {
    listen 80;
    server_name seusite.com www.seusite.com;
    root /var/www/seusite.com/public_html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }
}

O ponto principal é a linha fastcgi_pass , que deve apontar para o socket do PHP 8.3: /run/php/php8.3-fpm.sock .

Reiniciando os serviços

sudo systemctl restart php8.3-fpm
sudo systemctl restart nginx

Verificando se funcionou

php -v
sudo systemctl status php8.3-fpm

Acesse o site e verifique na Saúde do Site se a versão do PHP foi atualizada.


Atualizando o PHP no Ubuntu com Apache

O processo é similar, com diferenças no módulo do Apache.

Instalando o PHP 8.3

sudo apt update
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.3 php8.3-mysql php8.3-curl php8.3-gd \
    php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl \
    php8.3-opcache php8.3-imagick php8.3-bcmath

Desativando a versão antiga e ativando a nova

# Desativar a versão antiga (ex: PHP 7.4)
sudo a2dismod php7.4

# Ativar o PHP 8.3
sudo a2enmod php8.3

# Reiniciar o Apache
sudo systemctl restart apache2

Usando PHP-FPM com Apache (recomendado)

O modo PHP-FPM é mais eficiente que o mod _ php. Para usar PHP-FPM com Apache:

# Instalar o PHP-FPM
sudo apt install php8.3-fpm

# Desativar mod_php e ativar proxy_fcgi
sudo a2dismod php8.3
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.3-fpm

# Reiniciar
sudo systemctl restart php8.3-fpm
sudo systemctl restart apache2

Erros Comuns Após a Atualização do PHP

Fatal error: funções removidas

O PHP 8 removeu diversas funções depreciadas nas versões 7.x. Se um plugin usa alguma delas, você verá erros como:

Fatal error: Uncaught Error: Call to undefined function create_function()

Funções removidas no PHP 8.0 que eram comuns em plugins WordPress:

  • create_function() - substituída por funções anônimas (closures)
  • each() - substituída por foreach
  • money_format() - substituída por NumberFormatter
  • Extensão mysql_* - substituída por mysqli_* (já removida no PHP 7.0)

Solução: atualize o plugin para a versão mais recente ou procure uma alternativa compatível.

Deprecation notices

Avisos de deprecação não quebram o site, mas indicam que o código será incompatível em versões futuras:

Deprecated: Return type of MyClass::method() should either be compatible with...

Esses avisos são comuns no PHP 8.1+ e geralmente não causam problemas funcionais. Para ocultá-los em produção, configure no php.ini :

error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE

Erro de type mismatch

O PHP 8 é mais rigoroso com tipos. Código que passava null onde era esperada uma string agora gera avisos ou erros:

Fatal error: Uncaught TypeError: strlen(): Argument #1 ($string) must be of type string, null given

Solução: atualize os plugins. Plugins mantidos ativamente já corrigiram esses problemas.


Configurações Recomendadas do php.ini para WordPress

Após instalar o PHP 8, configure o php.ini com valores otimizados para WordPress.

Localização do php.ini

  • cPanel/CloudLinux: acessível pela interface Select PHP Version
  • Ubuntu + Nginx (PHP-FPM): /etc/php/8.3/fpm/php.ini
  • Ubuntu + Apache (mod _ php): /etc/php/8.3/apache2/php.ini
  • Ubuntu + Apache (PHP-FPM): /etc/php/8.3/fpm/php.ini

Configurações recomendadas

; Memória e execução
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000

; Upload de arquivos
upload_max_filesize = 64M
post_max_size = 64M

; Sessões
session.gc_maxlifetime = 1440
session.cookie_httponly = 1
session.cookie_secure = 1

; Segurança
expose_php = Off
display_errors = Off
log_errors = On
error_log = /var/log/php/error.log
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE

; Performance
realpath_cache_size = 4096K
realpath_cache_ttl = 600

; Timezone
date.timezone = America/Sao_Paulo

Configuração do OPcache

O OPcache é essencial para a performance do WordPress com PHP 8. Ele armazena o bytecode compilado dos scripts PHP na memória, eliminando a necessidade de recompilar a cada requisição.

Configuração recomendada para WordPress

Adicione ou edite no php.ini ou em um arquivo separado de configuração do OPcache ( /etc/php/8.3/mods-available/opcache.ini ):

[opcache]
opcache.enable = 1
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60
opcache.validate_timestamps = 1
opcache.save_comments = 1
opcache.enable_file_override = 1

; JIT (PHP 8.0+)
opcache.jit = 1255
opcache.jit_buffer_size = 128M

Explicação dos parâmetros

  • memory _ consumption: memória reservada para o cache (256 MB é suficiente para a maioria dos sites)
  • interned strings buffer: memória para strings internas (16 MB é adequado)
  • max accelerated files: número máximo de scripts em cache (10.000 cobre a maioria dos sites WordPress com muitos plugins)
  • revalidate _ freq: intervalo em segundos para verificar se os arquivos mudaram (60 segundos em produção)
  • validate _ timestamps: se habilitado, o OPcache verifica se os arquivos foram modificados
  • save _ comments: necessário para o WordPress e muitos plugins que usam anotações em comentários
  • jit: modo de compilação JIT (1255 é o modo otimizado para WordPress)
  • jit buffer size: memória reservada para o buffer JIT

Verificando o OPcache

Para verificar se o OPcache está ativo e monitorar seu uso:

php -i | grep opcache

Ou crie um script temporário:

<?php
$status = opcache_get_status();
echo 'Memória usada: ' . round($status['memory_usage']['used_memory'] / 1048576, 2) . ' MB' . PHP_EOL;
echo 'Memória livre: ' . round($status['memory_usage']['free_memory'] / 1048576, 2) . ' MB' . PHP_EOL;
echo 'Scripts em cache: ' . $status['opcache_statistics']['num_cached_scripts'] . PHP_EOL;
echo 'Cache hits: ' . $status['opcache_statistics']['hits'] . PHP_EOL;
echo 'Cache misses: ' . $status['opcache_statistics']['misses'] . PHP_EOL;

Delete o arquivo após a verificação.


Testando Após a Atualização

Após atualizar o PHP e configurar o servidor, faça uma verificação completa.

Checklist de testes

  1. Página inicial: carrega normalmente?
  2. Páginas internas: posts, páginas e categorias estão funcionando?
  3. Painel administrativo: consegue acessar o wp-admin?
  4. Saúde do Site: vá em Ferramentas > Saúde do Site e verifique se há alertas
  5. Formulários: envie um formulário de contato de teste
  6. WooCommerce (se aplicável): faça um pedido de teste, verifique o checkout
  7. Cache: limpe o cache do site e verifique se tudo carrega
  8. Cron jobs: verifique se os agendamentos do WordPress estão funcionando

Verificando a versão do PHP no site

Acesse Ferramentas > Saúde do Site > Informações > Servidor e confirme que a versão do PHP exibida é a nova versão.

Monitorando logs após a atualização

Nos primeiros dias após a atualização, monitore os logs de erro:

# PHP-FPM
sudo tail -f /var/log/php8.3-fpm.log

# Nginx
sudo tail -f /var/log/nginx/error.log

# Apache
sudo tail -f /var/log/apache2/error.log

# WordPress
tail -f /var/www/seusite.com/public_html/wp-content/debug.log

Rollback: Voltando para a Versão Anterior

Se a atualização causou problemas que não podem ser resolvidos rapidamente, você pode reverter para a versão anterior do PHP.

No cPanel

Basta repetir o processo de alteração de versão no MultiPHP Manager, selecionando a versão anterior.

No Ubuntu com Nginx

  1. Verifique se a versão anterior ainda está instalada:
ls /etc/php/
  1. Edite a configuração do Nginx para apontar para o socket antigo:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
  1. Reinicie os serviços:
sudo systemctl start php8.2-fpm
sudo systemctl restart nginx

No Ubuntu com Apache

sudo a2dismod php8.3
sudo a2enmod php8.2
sudo systemctl restart apache2

Ou, se estiver usando PHP-FPM:

sudo a2disconf php8.3-fpm
sudo a2enconf php8.2-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart apache2

Leia Também


Conclusão

Migrar para o PHP 8 é uma das melhores otimizações que você pode fazer no seu WordPress. O ganho de performance, as melhorias de segurança e o suporte de longo prazo justificam o esforço de verificação e configuração.

A chave para uma migração tranquila é o planejamento: verificar compatibilidade antes de atualizar, ter um backup confiável e testar em ambiente de staging sempre que possível.

Se você quer um servidor já configurado com a versão mais recente do PHP, OPcache otimizado e suporte para resolver qualquer incompatibilidade, conheça os planos da HOSTWP . Nossa equipe mantém a infraestrutura atualizada e configurada especificamente para WordPress, para que você se concentre no conteúdo do seu site. Conheça a HOSTWP e tenha a melhor performance para o seu WordPress.

Artigos relacionados