Depanare WordPress: Ghidul esențial

Publicat: 2021-02-11

Indiferent de ce nivel de dezvoltator WordPress ești, există o problemă cu care te vei confrunta în mod constant: bug-uri. Chiar și cei mai experimentați dezvoltatori nu pot codifica în mod constant într-un mod care nu produce erori. De fapt, depanarea WordPress vă poate ajuta să aflați și mai multe despre platformă!

Dacă aveți experiență anterioară în programare, este posibil să fi avut erori la compilare sau la rulare. Cu excepția cazului în care ați aruncat prosopul și ați aruncat proiectul, este posibil să petreceți ceva timp parcurgând codul și urmărind problema. Dinamica cu WordPress este aceeași.

Spre deosebire de programarea într-un limbaj de programare comun, erorile WordPress nu sunt tipărite pur și simplu pe pagină. Acest lucru se datorează faptului că jurnalele de depanare conțin adesea informații sensibile, cum ar fi acreditările pentru bazele de date. WordPress va renunța la aceste jurnaluri în fișiere de pe serverul dvs. care nu sunt accesibile publicului.

Din fericire, spre deosebire de computerele care cântăreau treizeci de tone dezvoltate de armata SUA, nu va trebui să eliminați literalmente erorile moarte de pe mașină pentru a realiza acest lucru! Acum că avem un anumit context, să aruncăm o privire mai tehnică asupra a ceea ce intră în procesul de depanare WordPress.

WordPress Debug explicat

După cum probabil știți, WordPress este dezvoltat folosind PHP. Asta înseamnă că ghidul oficial WordPress de depanare, precum și ghidul oficial de depanare PHP vor fi resurse excelente pentru a vă ajuta pe parcurs.

Pentru a depana deloc, WordPress necesită să aveți definită o variabilă globală PHP. Vom analiza exact cum să facem acest lucru în secțiunea următoare.

Este important să se facă distincția între modul în care procesul de depanare PHP este diferit de procesul de depanare WordPress. Cu PHP vanilie, sunt afișate în mod implicit doar două tipuri de erori. Una este o „eroare fatală”, ceea ce înseamnă că este atât de severă încât pagina nu poate fi încărcată nici măcar. Cealaltă arată pur și simplu utilizatorului o pagină goală dacă există o „eroare fatală sensibilă”. Cu alte cuvinte, PHP știe că imprimarea întregului mesaj de eroare ar putea reprezenta un risc de securitate. Aceste setări pot fi ușor modificate chiar în PHP.

WordPress, pe de altă parte, este un pic mai cuvântător când vine vorba de depanare. Dacă pur și simplu activați depanarea WordPress și nu o personalizați, vor fi afișate fiecare nivel de eroare, avertisment și chiar elemente informative pentru dezvoltatori. Asta înseamnă că de la erori fatale la un mesaj tehnic despre cum ar trebui să optimizați o secțiune de JavaScript va fi afișat. Deși acest lucru este extrem de util pentru dezvoltatori, probabil că nu este cel mai bun conținut pentru a le arăta utilizatorilor.

O altă caracteristică unică este că veți fi informat despre funcțiile PHP specifice WordPress care au devenit depreciate. Funcțiile care au devenit învechite sunt cele care ar putea funcționa încă acum, dar asistența va fi abandonată pentru ele în viitor. De asemenea, acest lucru înseamnă, de obicei, că există un mod mai bun și mai rapid de a realiza același proces.

Știm că probabil nu sunteți încântați de depanarea WordPress, dar este esențial dacă doriți să mențineți un blog sau un site funcțional. Totuși, înainte de a începe editarea fișierelor, asigurați-vă că utilizați mai întâi un plugin de rezervă WordPress de încredere. În acest fel, dacă accidental vă faceți site-ul inoperabil, puteți restabili totul în doar câteva clicuri!

Acum, să aruncăm o privire asupra modului în care putem începe să rulăm!

Cum activez depanarea în WordPress?

Pentru a începe procesul de depanare WordPress, vom avea nevoie de câteva linii de PHP.

Porniți editorul de text preferat (atâta timp cât editorul de text preferat nu este Notepad-ul Windows!). Dacă aveți nevoie de unul, Notepad ++ este un editor de text open-source utilizat în mod obișnuit, care acceptă aproape fiecare limbaj de programare.

Apoi, descărcați o copie a fișierului wp-config.php. Nu editați fișierul original! Pur și simplu vom încărca versiunea modificată după ce am terminat.

După ce ați deschis wp-config.php în editorul de text, va trebui să adăugați următoarea linie de cod. Mai întâi, căutați-l pentru a vă asigura că nu îl aveți deja; PHP devine foarte nefericit dacă definiți aceeași variabilă de două ori!

 define( 'WP_DEBUG', true );

Toată această linie de cod face setarea variabilei PHP globale numită WP_DEBUG la valoarea booleană a true.

De asemenea, dacă doriți să activați WordPress depanare caracteristica off, te - ai pune doar în linia opusă de cod:

 define( 'WP_DEBUG', false );

Aceasta activează depanarea, dar acest lucru nu este prea util dacă nu știm cum să găsim informațiile furnizate!

Unde este jurnalul de depanare WordPress?

Din punct de vedere tehnic, există două răspunsuri la această întrebare, iar răspunsul exact depinde de alegerea dvs.

După cum am spus, o modalitate este să introduceți doar define („WP_DEBUG”, adevărat) ;. Aceasta folosește setările implicite ale jurnalului de depanare WordPress, care creează automat un fișier dacă nu există (sau se adaugă la acesta dacă există) în locația wp-content / debug.log.

Cu toate acestea, există mai multe motive pentru care ați putea dori acest lucru într-o locație diferită. De exemplu, vă recomandăm să îl aveți într-o locație unde un instrument de depanare terță parte îl poate accesa. Pentru a personaliza unde este plasat jurnalul de depanare, puteți activa depanarea astfel:

 define( 'WP_DEBUG_LOG', '/best-wp-dev/errors.log' );

Jurnal de depanare WordPress explicat

Nivelul de detaliere al informațiilor din jurnalul dvs. de depanare WordPress depinde de modul în care le configurați. Dacă pur și simplu îl activați fără modificări suplimentare, veți înregistra aproape fiecare eveniment care provoacă o eroare, utilizează o funcție depreciată sau nu este optim.

Deoarece WordPress este construit deasupra PHP, jurnalul dvs. va afișa fiecare eroare PHP și avertisment lansat. De asemenea, va conține data, ora și adresa IP asociate fiecărui eveniment. Din păcate, veți vedea, de asemenea, rezultatele PHP (foarte) detaliate despre multe lucruri, cum ar fi stilul de cod care nu-i place, validarea datelor pe care le consideră ar trebui consolidată și multe altele.

Mai ales pentru persoanele care tocmai au început să depaneze WordPress, privirea la fișierul jurnal poate fi destul de copleșitoare. Cu toate acestea, trebuie să vă amintiți că sunt necesare doar câteva articole.

Depanare vs. jurnalizare

Deși își propun să atingă același obiectiv, este important să înțelegeți diferența dintre depanare și înregistrare. Cu alte cuvinte, linia definește („WP_DEBUG”, adevărat); face ceva complet diferit de linia definită („WP_DEBUG_LOG”, adevărat) ;.

În niciun caz nu trebuie să utilizați define ('WP_DEBUG', adevărat); pe un site accesibil publicului. Această comandă, atunci când este utilizată de ea însăși, va imprima pur și simplu mesajele de depanare. Aceasta nu înregistrează nimic și va afișa informații care ar putea fi folosite pentru a fura date de pe site-urile dvs. Asigurându-vă că acest lucru nu este activat, împreună cu un plugin solid de securitate WordPress, va contracara marea majoritate a tentativelor de atacuri cibernetice.

iThemes Security (anterior o mai bună securitate WP)

Depanare WordPress fără risc de securitate

Evident, va trebui să depanați în mod regulat site-ul dvs. Cu toate acestea, probabil că nu doriți să adăugați și să eliminați în mod constant linii de cod din fișierul dvs. wp-config.php.

Dacă ne gândim la acest proces, va trebui mai întâi să activăm depanarea în general. Apoi, va trebui să ne asigurăm că înregistrăm erori pentru a face posibilă remedierea acestora. Cu toate acestea, nu dorim să arătăm aceste erori publicului larg. Amintiți-vă că trebuie să suprimăm atât erorile PHP standard, cât și erorile specifice WordPress pentru a fi afișate.

Exemplu de cod de depanare securizat WordPress

Folosind procesul pe care l-am subliniat mai sus, iată patru linii de cod care vă pot ajuta să începeți depanarea în siguranță a site-ului dvs.!

 define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );

Primele trei rânduri de mai sus stabilesc pur și simplu variabile PHP globale la care WordPress acordă atenție. Facem posibilă depanarea, configurarea funcționalității noastre de înregistrare și apoi dezactivarea erorilor specifice WordPress.

Sunt șanse ca a patra linie să pară că a ieșit din câmpul stâng! Această linie se adresează erorilor PHP care nu sunt gestionate de WordPress. Este ultima bază pe care trebuie să o acoperiți pentru a vă asigura că utilizatorii rău intenționați nu primesc acces la informații sensibile despre site.

Cum remediez o eroare de depanare WordPress?

Destul de des, dezvoltatorii vor folosi aceste patru linii de cod pe care le-am trecut. Vor întâmpina o eroare, cum ar fi o eroare de conexiune la baza de date, dar nu va exista nimic în jurnalul de depanare. Acest lucru se datorează faptului că WordPress are diferite variabile globale PHP pentru diferite metode de depanare.

Să ne uităm la câteva scenarii în care va trebui să adăugați câteva linii în fișierul dvs. wp-config.php pentru a depana WordPress corect.

Depanare JavaScript JavaScript

Dacă aveți un site WordPress, există șanse foarte mari să utilizeze JavaScript. Pentru dezvoltatorii mai noi, acesta este în esență limbajul care alimentează elementele interactive ale site-urilor. JavaScript este renumit pentru că este destul de obositor de depanat. Acest lucru se datorează faptului că site-urile moderne folosesc deseori cadre în plus față de JavaScript, complicând și mai mult avertismentele și mesajele de eroare.

Din păcate, acesta nu este singurul lucru care face dificilă depanarea JavaScript-ului WordPress. Există două forme de bază de JavaScript: asincron sau „AJAX” și JavaScript obișnuit . JavaScript regulat funcționează într-un mod liniar; nu va rula o funcție până la executarea celei înainte de a se încheia. Deși este posibil ca acest lucru să fi funcționat în primele zile ale web-ului, nu îl reduce pentru aplicațiile web.

AJAX, pe de altă parte, funcționează în fundal pe site-ul dvs. WordPress. Vă permite să rulați funcții JavaScript și să așteptați ieșirea lor, dar nu împiedică rularea altor funcții. Este adesea necesar să se prevină blocarea site-urilor.

Motivul pentru care WordPress ne face să folosim o altă variabilă globală PHP pentru a spune că dorim să depanăm scripturile este că această metodă de depanare produce o cantitate imensă de date.

Motivul pentru care WordPress ne face să folosim o altă variabilă globală PHP pentru a spune că dorim să depanăm scripturile este că această metodă de depanare produce o cantitate imensă de date. De asemenea, deoarece JavaScript și CSS rulează pe partea client, în timp ce PHP rulează pe partea server. Pentru a afișa fiecare eroare pe care WordPress o întâmpină datorită JavaScript și CSS, trebuie doar să adăugați această linie:

 define( 'SCRIPT_DEBUG', true);

Aceasta va afișa atât erorile JavaScript, cât și CSS (foaia de stil). De asemenea, vă poate ajuta cu acele operațiuni AJAX mai complexe.

Remedierea problemelor de date

Aproape fiecare site web obține informații dintr-o bază de date. WordPress are mai multe baze de date; unele site-uri stochează baze de date pe servere separate, iar altele le păstrează pe același server. Deoarece toate configurațiile sunt diferite, există întotdeauna șansa ca ceva să nu funcționeze corect în conexiunea la baza de date.

Dacă primiți un mesaj de eroare care spune că WordPress nu s-a putut conecta la o bază de date sau observați că datele nu sunt extrase corect, probabil că va trebui să depanați. Pur și simplu utilizând variabilele standard de depanare WordPress, ați observa probabil că nu s-ar înregistra nimic atunci când ați întâmpinat o eroare legată de baza de date.

Acest lucru se datorează faptului că WordPress partiționează erorile legate de baza de date departe de toate celelalte erori. Mesajele de eroare ale bazei de date conțin adesea informații sensibile, iar dezvoltatorii WordPress au dorit să se asigure că nu divulgați accidental informații private către public!

Pentru a începe depanarea problemelor bazei de date WordPress, va trebui să adăugați încă o linie la fișierul wp-config.php:

 define( 'SAVEQUERIES', true );

Scufundarea în depanarea bazei de date

Spre deosebire de celelalte variabile globale de depanare WordPress, trebuie să îi acordăm o atenție specială. „SAVEQUERIES” spune WordPress că dorim să vedem fiecare interogare rulată și rezultatele sale returnate. Acest lucru va afecta substanțial performanța la nivel de site! Aveți grijă să nu rulați acest lucru pe serverul dvs. la orele de vârf și opriți-l imediat ce nu aveți nevoie de el.

De asemenea, își stochează ieșirea puțin diferit. WordPress folosește o serie de șiruri PHP pe care va trebui să le accesați pentru a vedea informațiile de depanare a bazei de date. Se află în variabila globală PHP numită $ wpdb și în matricea de membri numită interogări. Puteți ajunge la acesta imprimând conținutul interogărilor $ wpdb->

Depanarea pluginurilor WordPress

Un avantaj principal al WordPress față de alte platforme este biblioteca sa bogată de pluginuri care pot face aproape orice. S-ar putea să citiți acest lucru și să aveți deja o durere de cap gândindu-vă la logistica necesității de a schimba în mod constant conținutul fișierului. Din fericire, unele plugin-uri ne pot ajuta cu depanarea WordPress! Există două deosebit de populare care îl fac o briză.

Depanare WP

Situat pe site-ul WordPress, acesta este unul dintre cele mai cunoscute pluginuri de depanare WordPress. În esență, automatizează procesele despre care am vorbit deja. Cu câteva clicuri din tabloul de bord, puteți activa și dezactiva toate aceste variabile globale PHP pe site-ul dvs.

Când instalați acest plugin, instalați și o serie de pluginuri de care depinde. În ansamblu, acestea vă permit să vă conectați și să vă ajute să interpretați erorile pe care le întâlniți.

Acest instrument este excelent pentru activarea procesului de depanare, dar pentru a depana propriile pluginuri și pentru a privi cu ușurință informațiile de depanare WordPress legate de baze de date, veți avea nevoie și de un alt plugin.

Bara de depanare

După cum sugerează și numele, bara de depanare este pur și simplu o bară de pe panoul de administrare al site-ului dvs. WordPress. Poate fi utilizat împreună cu instrumentul de depanare WP.

Are instrumente pentru dezvoltatori mai avansați, permițându-le să vizualizeze memoria cache, interogările care au fost trimise, rezultatele interogărilor și informații mai avansate. Așa cum am menționat, WordPress elimină toate informațiile de depanare a bazei de date într-o variabilă globală PHP.

Pentru a vedea de fapt aceste informații, ar trebui să iterați prin acea matrice într-un fișier PHP personalizat. Acest plugin vă oferă o alternativă ușoară. Tipărește toate aceste informații pentru dvs. într-un format destul de ușor de citit și de înțeles. Vă oferă chiar și câteva sfaturi despre cum să vă optimizați apelurile în baza de date!

Obțineți conținutul bonus: 10 caracteristici pentru alegerea unui plugin de backup WordPress
Click aici

Depanarea temelor WordPress

Depanarea temelor WordPress implică de obicei activarea variabilei globale PHP referitoare la scripturi. Acest lucru se datorează faptului că temele utilizează JavaScript și CSS din partea clientului.

Mai întâi, asigurați-vă că este o temă pe care ați creat-o. Dacă este o temă terță parte care întâmpină probleme, va trebui să contactați autorul temei respective. Ar fi destul de mult să încerci să găsești un ac într-un fân pentru a-l face singur!

Dacă este propria dvs. temă, asigurați-vă că ați urmat pașii pe care i-am discutat pentru a activa depanarea. Efectuați orice acțiune care vă determină să observați eroarea. De asemenea, puteți activa Consola pentru dezvoltatori din browserul dvs. web apăsând F12. Aceasta arată mai multe mesaje de eroare la nivel de client care vă pot ajuta în proces.

După efectuarea acțiunilor pe tema dvs. care duc la erori, consultați jurnalul. Ar trebui să existe informații detaliate acolo despre cauzele erorilor. Șansele sunt că va dura doar câteva modificări JavaScript și / sau CSS pentru ca totul să revină la normal!

Depanare eroare critică WordPress

Dacă un plugin, o temă sau alt conținut personalizat generează o eroare care determină eșecul site-ului dvs. WordPress, site-ul dvs. ar trebui să vă trimită un e-mail cu privire la eșec. În special pentru noii webmasteri, acest lucru poate fi deranjant.

Nu este nevoie să vă faceți griji, deoarece puteți urma acest lanț de pași pentru a rezolva problema în foarte puțin timp!

  1. Asigurați-vă că ați activat modul de depanare WordPress.
  2. Accesați jurnalul de erori. Ar trebui să aibă informații detaliate despre eroarea fatală. Dacă da, căutați codul de eroare exact online.
  3. Verificați versiunea PHP. Dacă nu este ceea ce WordPress necesită în prezent, pur și simplu actualizarea versiunii PHP pe care o folosește serverul dvs. ar putea rezolva problema.
  4. Dacă încă nu ai noroc, parcurge pluginurile. Rândul său , toate off. Dacă site-ul funcționează, înseamnă că un plugin a cauzat problema. Parcurgeți-le unul câte unul până găsiți pluginul pentru probleme. Contactați pe oricine l-a scris și rugați-l să o remedieze.
  5. Dacă încă nu ați găsit problema, ar putea fi o problemă legată de temă. Încercați să readuceți tema curentă la cea implicită WordPress. Dacă site-ul dvs. funcționează, va trebui să modificați temporar temele până când autorul rezolvă problema.
  6. Fără zaruri? Puneți eroarea pe forumul dezvoltatorilor WordPress. Există o mulțime de utilizatori care ar fi bucuroși să vă ajute.

Încheierea

Depanarea WordPress vă poate ajuta să rezolvați o serie de probleme pe care le întâmpinați. Vă poate spune ce pluginuri au probleme sau ce problemă ați putea avea cu o temă. Întrucât depanarea dezvoltatorului WordPress vă ajută nu numai să fiți un dezvoltator mai bun, ci vă ajută și să produceți un cod curat și de calitate.