Eroare pagină login: Cookie-urile sunt blocate din cauza unei ieșiri neașteptate
Am un site WordPress unde am descoperit recent această eroare pe pagina de login:
EROARE: Cookie-urile sunt blocate din cauza unei ieșiri neașteptate. Pentru ajutor, vă rugăm să consultați această documentație sau încercați forumurile de suport.
Pot accesa pagina de login doar prin wp-login.php
, deoarece /wp-admin/
afișează o pagină albă.
Am căutat pe internet și am încercat multe soluții fără succes:
Eliminarea
?>
și a spațiilor de la sfârșitul fișieruluifunctions.php
M-am asigurat că atât
functions.php
cât șiwp-config.php
nu au spații la începutul sau sfârșitul fișieruluiAm deschis
wp-config.php
șifunctions.php
în Notepad++ și le-am convertit în UTF-8 (se recomandă 'without BOM' dar această opțiune este disponibilă doar în cea mai nouă versiune de Notepad++ - presupun că UTF-8 face asta acum)Am setat
WP_DEBUG
la true și nu am primit erori îndebug.log
, cu excepția a 2 erori care se referă la momentul când nu încărcasem complet niște fișiere. Acea eroare specifică menționanav-menu.php
; acest lucru confirmă că se raportează erorile, doar că nu sunt legate de problemele mele de loginAm redenumit fiecare folder de plugin cu
_tmp
la sfârșit pentru a încerca să elimin posibilitatea ca vreun plugin să cauzeze problemaAm redenumit și folderul plugins pentru a elimina toate plugin-urile în același timp
Având în vedere aceste lucruri pe care le-am încercat și faptul că nu primesc erori PHP, ce altceva aș putea să încerc?

Această eroare este generată în wp-login.php și apare atunci când serverul nu poate seta cookie-uri. Aceasta se poate întâmpla din mai multe motive, unul dintre cele mai comune fiind: trimiterea unui output înainte de setarea cookie-urilor.
Încercați următoarele opțiuni:
- Actualizați nucleul WordPress, dacă nu este la zi
- Schimbați tema, dacă utilizați o temă personalizată, conectați-vă prin FTP pe server și ștergeți folderul temei personalizate, WordPress va reveni la tema implicită.
- Dacă problema persistă, redenumiți folderul de plugin-uri
De asemenea, verificați jurnalul de erori, deoarece erorile pot să nu fie afișate pe ecran.

@DmitrijA mulțumesc pentru observație, ai dreptate, cu cookie-urile dezactivate, mesajul de eroare este diferit. Am actualizat răspunsul

Cum pot face oricare dintre acestea dacă nu mă pot autentifica în WP? Singurul acces care îmi rămâne este FTP.

Puteți urma acești pași descriși mai jos:
- Redenumiți directorul
themes
și directorulplugins
. - Accesați acum /wp-admin/ sau /wp-login.php. Sper că de data aceasta va funcționa.
- Dacă pasul 2 funcționează, autentificați-vă în panoul de administrare.
- Acum, redenumiți din nou directorul
themes
înthemes
. - Apoi, accesați meniul
Appearance
(Aspect) și activați orice temă implicită WordPress. - Sper că în acest moment veți putea accesa și partea de front-end.
- Dacă funcționează, puteți încerca să activați tema pe care o utilizați anterior. Dacă funcționează, probabil tema dumneavoastră nu are nicio problemă.
- Dacă pasul 7 funcționează, puteți redenumi directorul
plugins
înapoi înplugins
și verificați dacă există plugin-uri problematice. Dacă site-ul se strică din nou, repetați pașii 1-6. Dacă pasul 7 nu funcționează, repetați pașii 1-6. În acest caz, tema dumneavoastră are niște probleme. Remediați-le.
Sper că acest ghid vă va fi de ajutor. Mulțumesc!

Pasul 1: Verificați fișierele de erori pentru a vedea care fișier(e) provoacă eroarea. Verificarea fișierului de loguri de erori vă va ajuta să înțelegeți exact care este cauza problemei.
Pasul 2: Dacă erorile sunt de tipul "Cannot modify header information – headers already sent by (output started at" urmat de calea fișierului și calea fișierului wp-login.php cu numărul liniei. Acest lucru vă va confirma că este vorba despre o problemă UTF-8 BOM și puteți localiza fișierul care are problema.
Pasul 3: Deschideți fișierul (în cazul meu a fost fișierul "custom-posts.php") care provoacă eroarea în Notepad++, fișierul care are problema. Acesta vă va arăta "Encode in UTF-8" selectat sub opțiunea Encoding din meniu. Trebuie să vă asigurați că ați selectat "Encode in UTF-8 without BOM" și NU "Encode in UTF-8", apoi faceți clic pe "Convert to UTF-8 without BOM", apăsați Enter oriunde în fișier și salvați.
Acest lucru a funcționat pentru mine; totuși, în unele cazuri poate fi o problemă legată de un plugin, iar redenumirea folderului de plugin-uri poate ajuta. Dar înainte de a face orice modificări, asigurați-vă că ați verificat logurile de erori pentru a ști exact ce faceți.

Mai întâi verifică site-ul tău cu o temă WordPress implicită și dacă problema ta este rezolvată, atunci încearcă să verifici fișierele PHP ale temei tale și elimină orice spațiu sau linie nouă înainte de <?php
și elimină ?>
de la sfârșitul fișierelor.
De asemenea, verifică https://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain și folosește define( 'COOKIE_DOMAIN', 'www.askapache.com' );
în wp-config.php.

În opinia mea, această problemă este legată de o eroare din tema. Urmați pașii de mai jos și sper că aceasta va fi soluția pentru dumneavoastră.
1. Setați WP_DEBUG
pe TRUE
Modificați valoarea WP_DEBUG
în fișierul wp-config.php
la TRUE
. Acest lucru vă va afișa un mesaj de eroare relevant pe pagina wp-login.php
. După rezolvarea problemei, puteți reveni la setarea inițială.
2. Verificați EROAREA
După ce setați TRUE
pentru WP_DEBUG
, este posibil să primiți mesajul "Cannot modify header information". Pe baza acestui mesaj, putem presupune că există probleme cu tema dumneavoastră.
3. Redenumiți folderul temei
Dacă confirmați punctul 2, trebuie să redenumiți folderul temei active cu o altă valoare (de ex., mytheme ÎN mytheme1). Ar trebui să vă puteți autentifica, deși site-ul va folosi tema implicită.
4. Reactivați tema
După ce ați finalizat pasul 3 și v-ați autentificat cu succes, este posibil să întâmpinați aceeași problemă cu pagina albă. Nu vă faceți griji, deoarece aceasta este consecința pasului 3.
Activați una dintre temele disponibile din Panoul de administrare > Aspect > Teme.
NOTĂ: Nu selectați vechea temă (pe care am redenumit-o la punctul 3), deoarece acea temă are probleme. După ce rezolvați problema, o puteți folosi din nou.
Pentru problemele legate de temă, puteți verifica jurnalul de erori pentru a identifica cauza.
Dacă încă întâmpinați aceeași problemă, încercați următoarele opțiuni:
1. Actualizați versiunea WordPress. Consultați ghidul
2. Dezactivați toate pluginurile, apoi reactivați-le unul câte unul.
Gata! Sper că acest ghid vă va fi de folos.

Pare ciudat că error.log nu afișează nimic...
Pentru a elimina complet posibilitatea caracterelor BOM, aș încerca să rescriu manual orice cod (din functions.php
și wp-config.php
) pe care l-ai copiat din alte surse într-un document despre care ești sigur că are format UTF-8. Este posibil ca caracterele să fi rămas chiar dacă formatul documentului a fost schimbat în program.
Notă adăugată: Dacă nu ești sigur dacă versiunea ta de Notepad++ suportă "fără BOM", încearcă să folosești un alt editor. Probabil că va trebui să folosești un alt editor doar pentru această problemă specifică.
Pe lângă asta, ai încercat să înlocuiești complet fișierul wp-login.php
? Ai putea încerca asta și/sau înlocuirea întregului folder wp-admin
. Dacă ai avut probleme cu încărcarea corectă a fișierului nav-menus.php
, este posibil ca alte fișiere/directoare să nu se fi încărcat corect sau să se fi încărcat parțial.

În unele cazuri, dacă vedeți erori sau avertismente pe pagina de autentificare, puteți încerca să setați define('WP_DEBUG', false);
în fișierul wp-config.php ca soluție temporară. După ce vă autentificați, trebuie să rezolvați problema reală, care în majoritatea cazurilor este o extensie sau o temă învechită. Am rezolvat astfel în unele situații, iar după autentificare am actualizat totul și problema a fost remediată.
