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.
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
// 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 );














