
Ferramentas > Saúde do site com a linha amarela “Um ou mais módulos recomendados estão ausentes” e, ao abrir, uma lista com intl, imagick ou zip. Em servidor Ubuntu ou Debian com PHP 8.3, isso é um apt install e um restart do FPM.
sudo apt update
sudo apt install -y php8.3-intl php8.3-imagick php8.3-zip
sudo systemctl restart php8.3-fpm Cada pacote joga um arquivo em /etc/php/8.3/mods-available/ e cria os links em fpm/conf.d e cli/conf.d. Por isso o restart é obrigatório: o processo do FPM lê a configuração uma vez, na subida, e continua servindo o site sem a extensão até você mandar reiniciar. O nginx não precisa de nada.
Aqui está o erro que faz gente perder meia hora: rodar php -m e ver a extensão na lista. Isso é o PHP de linha de comando, não o que atende o site. O FPM tem o próprio conjunto de arquivos ini, então pergunte para ele:
sudo php-fpm8.3 -m | grep -E 'intl|imagick|zip'
ls -l /etc/php/8.3/fpm/conf.d/ | grep intl Se aparecer nos dois comandos, o módulo está carregado para o WordPress. O imagick puxa a biblioteca do ImageMagick junto e resolve de quebra as miniaturas tortas de PNG com transparência; o intl é o que o WooCommerce e vários plugins de tradução usam para formatar número e data.
A checagem de extensões é um teste direto do Site Health: roda de novo a cada carregamento da tela, não fica em cache. Se a mesma extensão continua na lista depois do restart, você tem mais de uma versão de PHP na máquina e o pool do site aponta para outra. Confira para onde o vhost manda o PHP:
grep -rn fastcgi_pass /etc/nginx/sites-enabled/ O socket ali dentro diz qual versão instalar. O que realmente fica guardado é a contagem do painel: o widget de Saúde do site lê o transient health-check-site-status-result. Se só o número teimar em ficar velho, apague e recarregue com sudo -u www-data wp transient delete health-check-site-status-result.
Chegou um chamado sem passo a passo e sem exemplo. Veja como virar esse relato em um caso de teste…
Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…
O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…
Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…
Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…