Durante a automação da criação de novos sites WordPress, me deparei com um comportamento inesperado: ao executar comandos do WP-CLI, recebia diversos erros do tipo Undefined index
. Isso impactava a configuração de plugins, criação de buckets S3 e o carregamento de arquivos de mídia.
O problema
Ao rodar qualquer comando com WP-CLI, surgiam mensagens como:
PHP Notice: Undefined index: _NONCE_SALT in Runner.php on line 63
PHP Notice: Undefined index: WP_DEBUG in Runner.php on line 86
PHP Notice: Undefined index: S3_DIRECTORY_NAME in Runner.php on line 151
O site carregava parcialmente — sem imagens, e com alguns estilos quebrados. O upload via painel tentava ser local, sem permissão, em vez de usar o bucket correto.
Diagnóstico
O erro estava no .env
. Mais especificamente, nas constantes de segurança (SALTs). Um dos valores tinha caracteres que "quebravam" o PHP silenciosamente:
_AUTH_SALT='{?$?Ca44VKXOY+u@JvC1LySRNoZvO2OY9[...]J%<*@<<'
Esses caracteres (<
, "
, |
) interferem no parsing do arquivo quando usado via eval()
no WP-CLI. Assim, constantes e variáveis definidas depois disso simplesmente não eram carregadas.
A solução
- Regerei os SALTs usando a gerador da Roots.io:
https://roots.io/salts.html
-
Validei visualmente e via script para garantir que não havia caracteres como
<
,"
,|
,&
. - Substituí os SALTs manualmente no
.env
. - Reexecutei o WP-CLI com sucesso.
- Reconfigurei o plugin de upload para recriar o bucket e as URLs das mídias.
Resultado: site voltou ao normal, com estilos e imagens funcionando após a recuperação dos arquivos do cliente.
Aprendizado e melhoria no processo
Esse foi o segundo caso semelhante, o que acendeu o alerta: precisamos sanitizar os SALTs gerados automaticamente no nosso script de provisionamento.
Dica para times que automatizam WordPress
Sempre valide os arquivos .env
, wp-config
, após geração automática. Problemas com SALTs são silenciosos, difíceis de rastrear, mas podem afetar profundamente plugins, autenticação e integração com serviços externos.
Top comments (0)