Configurações ideais de PHP para WordPress

abaixo estão configurações ideais de PHP para WordPress em produção, focadas em performance, estabilidade e segurança, usadas em sites de médio e alto tráfego.


🔧 Versão recomendada

  • PHP 8.2 ou 8.3
    • Melhor desempenho
    • Compatível com WordPress atual
  • Evite PHP 7.4 (EOL)

📁 php.ini – Configuração recomendada

; Memória
memory_limit = 512M

; Uploads
upload_max_filesize = 64M
post_max_size = 64M
max_file_uploads = 20

; Execução
max_execution_time = 300
max_input_time = 300
max_input_vars = 5000

; Timezone
date.timezone = America/Sao_Paulo

; Erros (produção)
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /var/log/php_errors.log

; Segurança
expose_php = Off
allow_url_fopen = On
allow_url_include = Off
disable_functions = exec,passthru,shell_exec,system,proc_open,popen

; OPcache (MUITO IMPORTANTE)
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=100000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=0

; Sessões
session.gc_probability=1
session.gc_divisor=1000
session.gc_maxlifetime=1440

⚙️ PHP-FPM – Ajustes críticos

Arquivo:
/etc/php/8.2/fpm/pool.d/www.conf

pm = dynamic
pm.max_children = 40
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20

pm.max_requests = 500
request_terminate_timeout = 300

📌 Como calcular pm.max_children

Veja em Como Calcular pm.max_children Corretamente


🚀 OPcache – impacto direto na velocidade

Verifique se está ativo:

php -i | grep opcache

Para WordPress de alto tráfego:

  • memory_consumption: 128–256 MB
  • max_accelerated_files: ≥ 100k

🧠 WordPress – ajustes no wp-config.php

define('WP_MEMORY_LIMIT', '512M');
define('WP_MAX_MEMORY_LIMIT', '512M');

define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

🔐 Segurança adicional

Se não usar funções remotas:

allow_url_fopen = Off

Bloqueie XML-RPC no Nginx/Apache se não usar.


📊 Para WooCommerce

Aumente:

memory_limit = 1024M
max_input_vars = 10000

🧪 Teste de carga

Após aplicar:

sudo systemctl restart php8.2-fpm

Monitore:

htop
journalctl -u php8.2-fpm

🔥 Resumo rápido (produção)

ItemValor
PHP8.2 / 8.3
memory_limit512M
OPcacheAtivo (256M)
pm.max_childrenBaseado na RAM
display_errorsOff

Clique aqui e consulte nossos planos de Gerenciamento de Servidor