O WordFence é um plugin para WordPress que inclui um sistema de firewall contra invasões e um scanner de malware que verifica possíveis injeções de código na plataforma. Este plugin verifica também a existência de ficheiro que não fazem parte da plataforma WordPress para que possam ser devidamente analisados e eliminados em caso de necessidade.
Fomos várias vezes confrontados com o seguinte erro depois de executadas atualizações ou migrações entre alojamentos:
Fatal error: Unknown: Failed opening required ‘/home/***/public_html/wordfence-waf.php’ (include_path=’…/usr/lib/php /usr/local/lib/php’) in Unknown on line 0
O caminho exato para este ficheiro varia de alojamento para alojamento mas o comportamento é o mesmo. O WordPress tem instruções para localizar este ficheiro, mas não existe. O erro acontece tanto ao visitar a homepage como o dashboard de administração. O erro persiste mesmo depois de manualmente desinstalar o WordPress ou eliminar a pasta deste plugins em wp-content/plugins.
Ao verificar o conteúdo do ficheiro wordfence-waf.php, encontramos o seguinte aviso:
Before removing this file, please verify the PHP ini setting `auto_prepend_file` does not point to this.
que alerta para o facto de ter sido acrescentada a opção auto_prepend_file no ficheiro php.ini que aponta para o wordfence-waf.php.
No entanto, dependendo do alojamento, a instrução auto_prepend_file pode estar noutras localizações.
Durante as nossas intervenções para solucionar este problema encontramos a instrução nos ficheiros .htaccess e user.ini e não no php.ini.
Para corrigir o problema basta apagar ou comentar a linha com a instrução auto_prepend_file.