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.phpM-am asigurat că atât
functions.phpcât șiwp-config.phpnu 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_DEBUGla 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
_tmpla 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
Fiaz Husyn
Cum pot face oricare dintre acestea dacă nu mă pot autentifica în WP? Singurul acces care îmi rămâne este FTP.
MatoBehr
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ă.