Errore pagina di login: I cookie sono bloccati a causa di un output imprevisto
Ho un sito WordPress in cui ho recentemente scoperto questo errore nella pagina di login:
ERRORE: I cookie sono bloccati a causa di un output imprevisto. Per aiuto, consulta questa documentazione o prova i forum di supporto.
Posso accedere alla pagina di login solo da wp-login.php
, poiché /wp-admin/
mostra una pagina bianca vuota.
Ho cercato sul web e ho provato molte soluzioni senza successo:
Rimozione di
?>
e degli spazi alla fine del filefunctions.php
Verifica che sia
functions.php
chewp-config.php
non avessero spazi all'inizio o alla fine del fileApertura di
wp-config.php
efunctions.php
in Notepad++ e conversione in UTF-8 (le persone consigliano 'senza BOM' ma questa è un'opzione disponibile solo nella versione più recente di Notepad++ - presumo che UTF-8 lo faccia ora)Ho impostato
WP_DEBUG
su true e non ho ricevuto errori neldebug.log
, eccetto 2 relativi a quando non avevo caricato completamente alcuni file. Quell'errore particolare menzionavanav-menu.php
; questo ha confermato che sta segnalando gli errori, ma non relativi ai miei problemi di loginHo rinominato ogni cartella dei plugin aggiungendo
_tmp
alla fine per cercare di escludere eventuali plugin che causano il problemaHo anche rinominato la cartella dei plugin per escludere tutti i plugin contemporaneamente
Considerando queste cose che ho provato, e che non sto ricevendo errori PHP, cos'altro potrei tentare?
Questo errore viene generato in wp-login.php e si verifica quando il server non riesce a impostare i cookie. Ciò può accadere per diversi motivi, uno dei problemi più comuni è: output inviato prima della configurazione dei cookie.
Prova le seguenti opzioni:
- Aggiorna il core di WordPress, se non è aggiornato all'ultima versione
- Cambia tema, se stai usando un tema personalizzato, accedi via FTP al server ed elimina la cartella del tema personalizzato. WordPress ripristinerà il tema predefinito.
- Se il problema persiste, rinomina la cartella dei plugin
Controlla anche il log degli errori, poiché gli errori potrebbero non essere visualizzati a schermo.

@DmitrijA grazie per averlo segnalato, hai ragione, con i cookie disabilitati il messaggio di errore è diverso. Ho aggiornato la risposta

Come posso fare una delle cose sopra se non riesco ad accedere a WP? L'unico accesso che mi resta è FTP.

Puoi seguire questi passaggi elencati di seguito:
- Rinomina la directory
themes
e la directoryplugins
. - Ora visita /wp-admin/ o /wp-login.php. Spero che questa volta funzioni.
- Se il passaggio 2 funziona, effettua il login alla dashboard.
- Ora, rinomina nuovamente la directory
themes
inthemes
. - Poi, visita il menu
Aspetto
e attiva un tema predefinito di WordPress. - Spero che a questo punto tu possa accedere anche al front-end.
- Se funziona, ora puoi provare ad attivare il tema che usavi prima. Se funziona, probabilmente il tuo tema non ha problemi.
- Se il passaggio 7 funziona, puoi rinominare nuovamente la directory
plugins
inplugins
e verificare se ci sono plugin problematici. Se il sito si blocca di nuovo, ripeti i passaggi 1-6. Se il passaggio 7 non funziona, ripeti i passaggi 1-6. In questo caso, il tuo tema ha qualche problema. Risolvilo.
Spero che funzioni per te. Grazie.

Passo 1: Controlla i log degli errori per identificare quale file sta causando l'errore. Verificare il file di log degli errori ti aiuterà a capire esattamente cosa sta causando il problema.
Passo 2: Se gli errori sono del tipo "Non è possibile modificare le informazioni dell'header - gli header sono già stati inviati da (output iniziato a" seguito dal percorso del file e dal percorso del file wp-login.php con il numero di riga. Questo ti confermerà che si tratta di un problema di UTF-8 BOM e potrai individuare il file che presenta il problema.
Passo 3: Apri il file che causa l'errore (nel mio caso era il file "custom-posts.php") in Notepad++, che presenta il problema. Ti mostrerà "Codifica in UTF-8" selezionato sotto l'opzione Codifica dal menu. Devi assicurarti di aver selezionato "Codifica in UTF-8 senza BOM" e NON "Codifica in UTF-8", quindi clicca su "Converti in UTF-8 senza BOM", premi invio in qualsiasi punto del tuo file e salva.
Ha funzionato per me; tuttavia, in alcuni casi può trattarsi di un problema del plugin e rinominare la cartella dei plugin può aiutare. Ma prima di apportare qualsiasi modifica assicurati di aver controllato i log degli errori in modo da sapere cosa stai facendo.

Per prima cosa verifica il tuo sito con un tema WordPress predefinito e se il problema è risolto, prova a controllare i file PHP del tuo tema e rimuovi eventuali spazi o righe vuote prima di <?php
e rimuovi ?>
alla fine dei file.
Controlla anche https://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain e usa define( 'COOKIE_DOMAIN', 'www.askapache.com' );
nel tuo file wp-config.php.

Secondo la mia opinione, questo è correlato a qualche problema del tema. Segui i passaggi qui sotto e spero che questa sarà la tua soluzione.
1. Imposta WP_DEBUG
su TRUE
Imposta il valore di WP_DEBUG
su TRUE
nel tuo file wp-config.php
. Questo ti fornirà un messaggio di errore significativo nella pagina wp-login.php
. Dopo la soluzione, puoi ripristinare questa modifica.
2. Verifica l'ERRORE
Una volta impostato TRUE
per WP_DEBUG
, potresti ricevere il messaggio di errore Cannot modify header information. In base a quel messaggio, possiamo supporre che ci possano essere problemi con il tuo Tema.
3. Rinomina la cartella del tema
Se il punto 2 è applicabile, devi rinominare il nome della cartella del tuo tema attivo con un altro valore (ad esempio, mytheme TO mytheme1). Dovresti essere in grado di accedere, anche se verrà utilizzato il tema predefinito corrente.
4. Riattiva il tema
Una volta completato il punto 3 e l'accesso ha avuto successo, potresti ancora affrontare lo stesso problema della pagina bianca. Non preoccuparti perché questo è dovuto al punto 3.
Attiva uno dei temi disponibili da Pannello di amministrazione > Aspetto > Temi.
NOTA: Non selezionare il tuo vecchio tema (quello che abbiamo rinominato nel punto 3) perché quel tema ha problemi. Una volta risolto il problema, potrai utilizzare nuovamente quel tema.
Per il problema relativo al tuo tema, puoi verificare qual è il problema controllando il file di log.
Se continui ad affrontare lo stesso problema, significa che devi provare altre opzioni come:
1. Devi aggiornare la tua versione di WordPress. Controlla come fare
2. Disattiva tutti i tuoi plugin e riattivali uno alla volta.
Fatto! Spero che questo ti sia stato d'aiuto.

Sembra strano che l'error.log non mostri nulla...
Per escludere completamente i caratteri BOM, proverei a riscrivere manualmente qualsiasi codice (in functions.php
e wp-config.php
) che hai copiato da altre fonti in un documento di cui sei sicuro sia in formato UTF-8. È possibile che i caratteri siano rimasti anche se il formato del documento è stato cambiato nel programma.
Nota aggiuntiva: Se non sei sicuro che la tua versione di Notepad++ supporti "senza BOM", prova a usare un editor diverso. È probabile che avresti bisogno di usare un editor diverso solo per questo particolare problema.
A parte questo, hai provato a sostituire completamente il tuo file wp-login.php
? Potresti provare questo e/o sostituire l'intera cartella wp-admin
. Se hai avuto problemi con il caricamento corretto di nav-menus.php
, altri file/directory potrebbero non essere stati caricati correttamente o solo parzialmente.

Ho avuto lo stesso problema e l'ho RISOLTO. Mi sono semplicemente connesso via FTP e ho cambiato il nome della cartella del tema e dei plugin, così ho potuto accedere all'area di amministrazione di WordPress senza problemi. Spero che questo possa aiutare altri.
Grazie, Nilesh

In alcuni casi, se stai visualizzando errori o avvisi nella pagina di login, puoi provare a impostare define('WP_DEBUG', false);
in wp-config.php come soluzione temporanea. Una volta effettuato l'accesso, dovrai risolvere il problema reale che nella maggior parte dei casi è causato da un plugin o tema non aggiornato. Ho risolto in questo modo diverse volte e, dopo aver effettuato l'accesso, ho aggiornato tutto e il problema è stato risolto.
