Directorio de artigos
Alguén mencionou que despois de instalar Wordfence no seu sitio web, seguía recibindo erros que indicaban que non podía crear o ficheiro wordfence-waf.php no directorio raíz. Pedinlle que me enviara unha captura de pantalla; a mensaxe de erro era só unha liña, dicindo que era un problema de permisos de ficheiro.
Penseino un intre e decateime de que xa me atopara con isto antes. Pasei moito tempo intentando descubrilo, case pensando que o provedor de aloxamento estaba tramando algo. Resultou ser un problema de permisos e propiedade, pero a lóxica do panel de control do aloxamento pode ser realmente confusa.

Déixame primeiro aclarar que é este ficheiro wordfence-waf.php.
En realidade é o ficheiro de protección do cortafuegos de Wordfence, que debe estar escrito no directorio raíz do sitio web, ao mesmo nivel que wp-config.php.
Sen este ficheiro, o cortafuegos non se pode iniciar; é coma se tiveses instalado un cadeado pero non se pode inserir a chave.
Opción 1: Modificación de permisos cun só clic a través do panel de control (BT Panel/)HestiaCP/cPanel)
Se estás a usar BT Panel, en realidade é o máis sinxelo. Vai ao teu sitio web, busca o sitio correspondente, fai clic en Configuración e despois vai a Permisos de directorio. Cambia o permiso do directorio raíz do sitio web a 755 e o permiso de todos os ficheiros a 644. Despois, comproba se o usuario que executa a operación é "www"; se non o é, cámbiao. Fai clic no botón "Reparar permisos", agarda a que remate, actualiza Wordfence e inténtao de novo.
Para HestiaCP, vai á páxina de edición do sitio web e activa a opción chamada "Permitir acceso de escritura á raíz web". Despois, executa uns cantos comandos SSH para unificar o propietario e os permisos do directorio do sitio web.
chown -R admin:www-data /home/admin/web/你的域名/public_html
chmod -R 755 /home/admin/web/你的域名/public_html
find /home/admin/web/你的域名/public_html -type f -print0 | xargs -0 chmod 644cPanel é máis intuitivo. Abre o xestor de ficheiros, activa "Mostrar ficheiros ocultos" na esquina superior dereita, fai clic co botón dereito no directorio e cambia os permisos a 755, cambia os permisos de ficheiro a 644 e tamén hai unha función para corrixir o propietario do ficheiro nas opcións avanzadas.
Opción 2: Cambiar os permisos manualmente mediante SSH (xeral)Linux)
Se o panel de control non o pode xestionar, proba SSH manualmente. Unha vez conectado ao servidor, unifica primeiro a propiedade. Nun entorno LNMP/LEMP, o grupo de execución web adoita ser www-data ou www.
chown -R 你的面板用户:www-data /网站根目录完全路径Despois, define os permisos de cartafol en 755 e os de ficheiro en 644.
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644Unha vez finalizado o proceso, volve ao backend de WP e reactiva o firewall; o máis probable é que isto resolva o problema.
Opción 3: Crear manualmente wordfence-waf.php (unha solución xenial cando os permisos están bloqueados)
Se non podes cambiar a configuración de SSH no panel de control, faino manualmente. Crea un ficheiro chamado wordfence-waf.php no directorio raíz e pega o seguinte código nel.
<?php
if (!defined('WFWAF_VERSION')) {
define('WFWAF_VERSION', '7.11.0');
}
$wafConfig = array(
'wafAutoPrepend' => true,
'wafFile' => __FILE__,
'wpContentDir' => dirname(__FILE__) . '/wp-content',
'wpPluginsDir' => dirname(__FILE__) . '/wp-content/plugins',
'wafLogDir' => dirname(__FILE__) . '/wp-content/wflogs',
);
require_once $wafConfig['wpPluginsDir'] . '/wordfence/lib/waf/waf.php';Lembra substituír a versión 7.11.0 pola túa versión actual de Wordfence. Define os permisos do ficheiro en 644 e o propietario debería coincidir co sitio web. Despois, edita wp-config.php e engade a seguinte liña ao principio do ficheiro.
require_once 'wordfence-waf.php';Garda e actualiza Wordfence. O cortafuegos recoñecerao automaticamente e deixará de informar de erros.
Opción 4: Comproba as regras que restrinxen o acceso de escritura.
Ás veces non é un problema de permisos, senón o ficheiro de configuración o que o bloquea. Abre o teu ficheiro .htaccess e elimina todas as regras que restrinxen o acceso de escritura a ficheiros ou impiden a creación de ficheiros PHP. Para Nginx, comproba a configuración do teu sitio para ver se hai restricións como a ruta raíz de só lectura ou create_file desactivado e elimínaas.
Outro escenario é que o propio servidor virtual ou o aloxamento na nube lixeiro restrinxa a xeración de ficheiros PHP no directorio raíz. Neste caso, debes contactar co teu provedor de aloxamento para eliminar a restrición ou cambiar o modo de protección de Wordfence. Vai ao menú de Wordfence, Todas as opcións, WAF e cambia o modo do motor de protección a Protección ampliada para omitir a creación de ficheiros raíz.
Solución 5: Conflitos de complementos que causan bloqueos
Algúns complementos de caché ou seguridade poden bloquear esta operación. Desactiva temporalmente os complementos de caché como WP Rocket, W3 Total Cache e LiteSpeed Cache, así como os complementos de seguridade como Sucuri e iThemes Security. Despois, limpa a caché do servidor e a caché de operacións e reinicia o servizo PHP.
systemctl restart php8.3-fpmSecuencia rápida de resolución de problemas (recoméndase seguir os pasos por orde)
Suxíroche que sigas esta orde para evitar perder o tempo. Primeiro, unifica os permisos e a propiedade; isto ten a maior probabilidade de resolver o problema. Se iso non funciona, reinicia PHP-FPM e actualiza o backend. Se iso segue sen funcionar, crea manualmente un novo ficheiro e modifica wp-config. Despois, comproba se a túa configuración de Nginx ou Apache está a bloquear a creación de novos ficheiros PHP no directorio raíz. Finalmente, considera cambiar os modos do cortafuegos.
Unha cousa que debo lembrarche é que nunca debes configurar os permisos en 777. Os permisos de cartafol deberían ser 755 e os de ficheiro 644; ese é o estándar. Configurar os permisos en 777 exporá directamente o teu sitio web, o que supón un risco de seguridade extremadamente alto. Se te piratean, será demasiado tarde para arrepentirse.
Para ser sincero, non estou seguro de se estas solucións funcionarán para a túa situación, pero compartín os erros que atopei e os métodos que descubrín. Se recibes outras mensaxes de erro, fai unha captura de pantalla e envíama para que a revises de novo.
Xa que leches ata aquí, se che resultou útil, por favor, dálle a "Gústame" e compárteo. Se queres recibir actualizacións primeiro, tamén podes seguirme!
Grazas por ler o meu artigo. Ata a próxima.
Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ O tutorial "Solución completa para a incapacidade de WordPress Wordfence para crear wordfence-waf.php" compartido aquí pode serche útil.
Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-34337.html
