Como corrigir erros de compatibilidade entre o Elementor e o PHP 8.3
O que é o erro de compatibilidade do Elementor com PHP 8.3?
A incompatibilidade do Elementor com PHP 8.3 ocorre quando o plugin Elementor (ou o Elementor Pro) está numa versão lançada antes do suporte pleno ao PHP 8.3 e o servidor já está nessa versão do PHP. O PHP 8.3 endureceu regras que antes só geravam aviso: criação de propriedade dinâmica em classes, passar null para parâmetros internos não anuláveis e funções já removidas. Código antigo do Elementor passa então a emitir mensagens de deprecated ou, em casos graves, um fatal error.
Como identificar
- Mensagem “Deprecated: Creation of dynamic property …” apontando um arquivo dentro de wp-content/plugins/elementor no debug.log ou no topo da página.
- Mensagem “Fatal error: Uncaught Error” ou “Uncaught TypeError” referenciando um arquivo do elementor ou elementor-pro ao abrir o editor.
- Editor do Elementor preso em “Loading” ou com tela cinza logo depois de o host atualizar o PHP para a versão 8.3.
- Faixa de avisos de PHP no cabeçalho do site após a troca de versão do PHP, com caminhos do diretório wp-content/plugins/elementor.
- Em Elementor -> Ferramentas -> System Info, aviso de que a versão do PHP ou do plugin está abaixo do recomendado.
Antes de começar: Faça backup do site (arquivos e banco) antes de atualizar os plugins ou editar o wp-config.php. Se você usa um tema-filho ou snippets que estendem o Elementor, teste a atualização num ambiente de homologação primeiro: uma atualização maior do Elementor pode mudar hooks e quebrar personalizações no functions.php.
Como prevenir
- Mantenha o Elementor e o Elementor Pro sempre na última versão e sempre atualizados juntos.
- Antes de o host subir uma versão maior do PHP, teste o site numa cópia de homologação já no PHP 8.3 e abra alguns templates do Elementor.
- Deixe o limite de memória do PHP em 256 MB e confirme no System Info que mbstring, zip, gd e dom estão ativos.
- Em produção, mantenha WP_DEBUG_DISPLAY desligado para que avisos de deprecated nunca apareçam para o visitante.
Causa
- Plugin Elementor ou Elementor Pro numa versão anterior à 3.16, lançada antes do suporte completo ao PHP 8.3, rodando num servidor já migrado para o PHP 8.3.
- Versão do Elementor e do Elementor Pro fora de sincronia (um atualizado e o outro não), combinação que o próprio plugin sinaliza como incompatível e pode quebrar o editor.
- Extensões de PHP exigidas pelo Elementor ausentes no PHP 8.3 do servidor, em especial mbstring, zip, gd e dom, que somem ao trocar de versão sem reinstalar os módulos.
- Limite de memória do PHP abaixo de 128 MB, valor recomendado pelo Elementor, gerando Allowed memory size exhausted no PHP 8.3 logo no carregamento do editor.
- WP_DEBUG_DISPLAY ligado em produção, fazendo o aviso de deprecated (que seria silencioso) aparecer impresso na tela e assustar o visitante.
Como resolver
- Confirme a versão do PHP e do Elementor: veja a versão do PHP do servidor e a versão instalada do Elementor e do Elementor Pro. Se o PHP está em 8.3 e o Elementor está abaixo da 3.16, a incompatibilidade está confirmada. O caminho do System Info do Elementor é:
Painel WP -> Elementor -> Ferramentas -> System Info - Atualize o Elementor e o Elementor Pro juntos: atualize sempre os dois ao mesmo tempo para manter a sincronia entre o núcleo e o Pro, porque o Pro depende da versão correta do plugin gratuito:
Painel WP -> Plugins -> Elementor -> Atualizar agora Painel WP -> Plugins -> Elementor Pro -> Atualizar agora - Aumente o limite de memória do PHP para 128 MB: o Elementor recomenda no mínimo 128 MB de memória. Defina a constante no wp-config.php, antes da linha que pede para parar de editar:
define( 'WP_MEMORY_LIMIT', '256M' ); define( 'WP_MAX_MEMORY_LIMIT', '512M' ); - Garanta as extensões de PHP exigidas: confira no System Info do Elementor se as extensões mbstring, zip, gd e dom estão ativas no PHP 8.3. Se faltar alguma, peça ao host para habilitar o módulo correspondente da versão 8.3. Os pacotes típicos no servidor são:
php8.3-mbstring php8.3-zip php8.3-gd php8.3-dom - Esconda os avisos em produção e limpe o cache: se ainda restar algum deprecated isolado, mantenha o registro em arquivo mas pare de imprimir na tela, depois limpe o cache do Elementor e do host para não ver HTML antigo com a faixa de erro. No wp-config.php deixe o debug em arquivo:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); Painel WP -> Elementor -> Ferramentas -> Regenerar arquivos e dados
PHP
// wp-config.php — ajustes para o Elementor no PHP 8.3
// Cole antes da linha: /* That's all, stop editing! Happy publishing. */
// Memoria recomendada pelo Elementor (minimo 128M; 256M evita exhausted)
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
// Registra os deprecated do PHP 8.3 no log, sem imprimir na tela
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // grava em wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // nao mostra o aviso ao visitante
@ini_set( 'display_errors', 0 );
Perguntas frequentes
O Elementor é compatível com o PHP 8.3?
Sim, nas versões recentes. As versões atuais do Elementor suportam o PHP 8.x e recomendam PHP 8.1 ou superior. O erro aparece quando o plugin está numa versão antiga rodando num servidor já no PHP 8.3. Atualizar o Elementor e o Elementor Pro para a última versão resolve na maioria dos casos.
Qual a diferença entre o aviso deprecated e o fatal error do Elementor?
O deprecated é só um aviso: o código antigo ainda roda, mas usa um recurso que o PHP 8.3 marcou para remoção. O fatal error interrompe a execução e derruba a página ou o editor. Os dois costumam vir da mesma causa, uma versão antiga do plugin, e somem com a atualização do Elementor.
Atualizei o Elementor e o erro continua. O que faço?
Confirme que o Elementor Pro também foi atualizado, pois núcleo e Pro precisam estar em sincronia. Depois confira no System Info se há extensões de PHP faltando e limpe o cache do Elementor e do host, porque pode estar sendo servido um HTML antigo com a faixa de erro.
Posso voltar o PHP para a versão 8.1 em vez de atualizar o Elementor?
Funciona como paliativo, mas não é o ideal. Versões antigas do PHP param de receber correções de segurança, então o certo é manter o PHP atual e atualizar o Elementor para a versão compatível. Use o downgrade apenas para ganhar tempo até concluir a atualização do plugin.
Qual limite de memória o Elementor pede no PHP 8.3?
O Elementor recomenda no mínimo 128 MB de memória, e na prática 256 MB evita o erro Allowed memory size exhausted no editor. Você define isso no wp-config.php com a constante WP_MEMORY_LIMIT; se o host limita por painel, pode ser preciso pedir o aumento ao suporte da hospedagem.
Como descobrir qual arquivo do Elementor está dando o erro?
Ligue o WP_DEBUG_LOG no wp-config.php e abra o arquivo wp-content/debug.log. A linha de deprecated ou de fatal error mostra o caminho exato do arquivo dentro de wp-content/plugins/elementor ou elementor-pro e o número da linha, o que confirma a origem no plugin.
Preciso de alguma extensão de PHP especial para o Elementor no 8.3?
Sim. O Elementor depende das extensões mbstring, zip, gd e dom, entre outras. Ao trocar a versão do PHP, alguns hosts não reinstalam todos os módulos da nova versão, então uma extensão pode sumir. Confira em Elementor -> Ferramentas -> System Info quais estão ativas.
Mexer no wp-config.php para esconder os avisos é seguro?
Sim, desde que você faça backup do arquivo antes e cole as constantes exatamente antes da linha que pede para parar de editar. Deixar WP_DEBUG_DISPLAY como false só impede que o aviso apareça na tela; ele continua registrado no debug.log para você diagnosticar a origem.














