Pode ser necessário atualizar a versão do PHP quando atualiza o WordPress para a versão mais recente ou os plugins relacionados. A minha ferramenta de firewall recomendou-me que atualizasse o WordPress, o que fiz, e vi a mensagem de aviso abaixo com o site em baixo. Estava a atualizar o PHP da versão 5.6 para a 7.4 através do MultiPHP Manager no cPanel.
Warning: Use of undefined constant WP_CONTENT_DIR – assumed ‘WP_CONTENT_DIR’ (this will throw an Error in a future version of PHP) in /home/XXXXX/public_html/wp-includes/load.php on line 115
Vou direto ao assunto. O erro foi causado pelo manipulador de PHP gerado automaticamente (versão 7.4) em .htaccess a entrar em conflito com outro manipulador de PHP (versão 5.6) que estava a ser executado em simultâneo no servidor.
O meu antigo manipulador de PHP era assim:
# Use PHP56 as default
AddHandler application/x-httpd-php56 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php56/lib
</IfModule>
O meu novo manipulador de PHP é assim:
# php -- BEGIN cPanel-generated handler, do not edit # Set the “ea-php74” package as the default “PHP” programming language. <IfModule mime_module> AddHandler application/x-httpd-ea-php74 .php .php7 .phtml </IfModule> # php -- END cPanel-generated handler, do not edit
No meu caso, a atualização feita no MultiPHP Manager gerou o manipulador de PHP 7.4 na pasta public_html, e o meu antigo manipulador de PHP 5.6 já existia na pasta acima de public_html, que fica acima do diretório raiz. Foi essa a causa do erro. Não é possível executar vários manipuladores de PHP num único site.
A minha solução foi simplesmente remover (ou mudar o nome, se não quiser apagar o ficheiro) o ficheiro .htaccess (PHP 5.6) que estava um nível acima do diretório raiz. Agora funciona às mil maravilhas!
