Cum să remediați eroarea: „Instalarea dvs. PHP pare să lipsească extensia MySQL, care este cerută de WordPress”
Publicat: 2022-11-01Mesajul de eroare „Instalarea dvs. PHP pare să lipsească extensia MySQL care este cerută de WordPress” poate fi confuz atât pentru începători, cât și pentru utilizatorii experimentați. Deși poate părea că tot ce trebuie să faci este să instalezi extensia WordPress MySQL care lipsește, instalarea și configurarea PHP pe partea serverului este mult mai complicată. Mai mult, există destul de multe drivere diferite de baze de date disponibile pentru PHP, fiecare având același scop.
În acest ghid cuprinzător pentru remedierea erorii „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress”, veți afla cum comunică WordPress cu baza sa de date și cum să vă asigurați că instalarea dvs. PHP are extensia MySQL corect instalată pentru aceasta. .
Cum comunică WordPress cu baza de date?
Site-ul dvs. WordPress este o aplicație web dinamică, bazată pe baze de date. În esență, înseamnă două lucruri: marea majoritate a întregului conținut al site-ului web este stocat în baza de date WordPress, iar WordPress se bazează absolut pe capacitatea de a comunica cu baza sa de date pentru a funcționa corect. De fiecare dată când încărcați orice pagină de pe site-ul dvs., WordPress efectuează o serie de manipulări în culise.
Deoarece toate postările, paginile și alte informații cheie sunt stocate în baza de date, spre deosebire de fișierele de pe server, pe care le-am vedea pe un site web static. WordPress PHP trebuie să recupereze conținutul solicitat trimițând interogări SQL și să îl îmbine cu fișiere șablon pentru a crea o pagină HTML care va fi trimisă vizitatorului site-ului. Cu alte cuvinte, WordPress analizează adresa pe care o deschideți în browser pentru a forma un set de parametri de interogare, care vor fi apoi utilizați pentru a interoga baza de date.
Deci, care este rolul PHP în acest proces? O instalare WordPress, sau nucleul WordPress, este un set de scripturi PHP care, puse împreună, construiesc un site web dinamic. PHP ca limbaj de programare devine piesa centrală a arhitecturii WordPress, ceea ce înseamnă că instalarea dvs. PHP trebuie configurată corespunzător pentru a comunica cu baza de date WordPress. Unul dintre aspectele cheie ale acestuia este instalarea și activarea extensiilor PHP necesare.
Extensii PHP MySQL pentru WordPress
PHP folosește o extensie specială, sau un driver de bază de date, pentru a se asigura că WordPress poate stabili o conexiune la baza sa de date folosind acreditările furnizate în fișierul wp-config.php. Dar ce este mai exact această extensie? Probabil că ați văzut diferite versiuni ale acestuia: mysql, mysqli, mysqlnd, pdo_mysql, libmysql și chiar mai multe. Este ușor să fii confuz, așa că haideți să o abordăm o dată pentru totdeauna.
Din versiunea 5.3, PHP folosește MySQL Native Driver pentru a comunica cu serverul bazei de date. MySQL Native Driver poate fi denumit și mysqlnd și este un înlocuitor pentru MySQL Client Library (libmysql) distribuită de MySQL. Cele trei extensii MySQL – mysql, mysqli și pdo_mysql – sunt compilate pentru a utiliza MySQL Native Driver și sunt utilizate pe scară largă cu site-uri web construite pe PHP.
PHP a depreciat extensia mysql în versiunea 5.5 și a eliminat suportul pentru aceasta în PHP 7+ în favoarea mysqli. Aliniindu-și calea cu această decizie, WordPress folosește extensia mysqli din versiunea 3.9. Deoarece pdo_mysql nu este acceptat de WordPress, driverul de bază de date la care se face referire în mesajul de eroare „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress” este extensia PHP mysqli.
Ce înseamnă eroarea „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress”?
Eroarea „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress” înseamnă că versiunea PHP utilizată de site-ul dvs. WordPress nu are extensia mysqli instalată sau configurată corect. Acest lucru face ca WordPress să nu poată comunica cu baza sa de date, ceea ce, la rândul său, are ca rezultat afișarea acestei variații a mesajului de eroare a conexiunii la baza de date WordPress pe site-ul dvs. web.
Erori de conectare la baza de date WordPress
WordPress poate afișa erori de conectare la baza de date din mai multe motive. Mesajul de eroare pe care WordPress alege să îl afișeze depinde de stadiul în care a întâmpinat probleme în timpul unei încercări de conectare. Este important să înțelegem diferența dintre cele două erori principale legate de incapacitatea acesteia de a comunica cu baza de date WordPress.
Mesajul „Eroare la stabilirea unei conexiuni la baza de date” va apărea pe site-ul dvs. dacă informațiile bazei de date din fișierul wp-config.php sunt incorecte, utilizatorul bazei de date nu are suficiente privilegii, baza de date este coruptă sau serverul MySQL/MariaDB respins. conexiunea. În acest caz, WordPress poate folosi extensia mysqli, dar se confruntă cu anumite probleme într-o etapă ulterioară.
Dacă vedeți mesajul de eroare „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress” pe site-ul dvs. web, extensia PHP mysqli fie nu este instalată, fie nu este încărcată de instalarea dvs. PHP. Un driver de bază de date asigură că WordPress poate folosi clasa sa globală wpdb(), care este primul pas în stabilirea unei conexiuni la baza de date.
3 motive principale din spatele erorii lipsă a extensiei MySQL WordPress
Când instalați WordPress pentru prima dată sau mutați site-ul dvs. WordPress într-o nouă infrastructură de găzduire, trebuie să vă asigurați că toate serviciile sunt configurate corect. Acesta include serverul dvs. web care va accepta cereri HTTP, handlerul dvs. PHP care va controla execuția codului PHP și MySQL/MariaDB care va accepta și procesa cererile bazei de date.
Panourile de control moderne de găzduire web vă permit să aveți mai multe versiuni PHP instalate pe server în același timp. Nu este cazul abordării tradiționale a instalării PHP, când pentru a utiliza o nouă versiune de PHP, trebuie să o eliminați complet pe cea anterioară. De asemenea, puteți instala toate extensiile PHP necesare din interfața grafică cu utilizatorul fără a fi nevoie să o faceți din linia de comandă.
Puteți alege versiunea PHP pe care doriți să o utilizați pentru site-ul dvs. WordPress, și chiar un handler PHP, dacă v-ați înscris pentru VPS sau găzduire dedicată. Această libertate simplifică procesul de rulare a unui site web și îl face mult mai complicat pentru cineva care nu este familiarizat cu modul în care funcționează PHP pe partea de server.
Mai jos, vom analiza situațiile comune care vor duce la imposibilitatea PHP de a comunica cu serverul dvs. MySQL/MariaDB. Iată cele trei motive principale din spatele mesajului de eroare „Instalarea dvs. PHP pare să lipsească extensia MySQL care este cerută de WordPress” de pe site-ul dvs.:
- Extensia PHP mysqli lipsește din versiunea PHP folosită de site-ul dvs.
- Extensia PHP mysqli nu este configurată corect.
- Utilizați o versiune învechită de WordPress cu PHP 7+.
Motivul 1: Extensia PHP mysqli lipsește din versiunea PHP folosită de site-ul dvs
Este posibil ca extensia mysqli să nu fie instalată deloc, mai ales dacă tocmai ați pus la dispoziție o nouă versiune PHP. Dacă WordPress nu poate folosi extensia mysqli, va încerca să folosească vechea extensie mysql pe versiunile PHP mai mici de 7.0. Principalul lucru este să aveți MySQL Native Driver instalat și configurat pentru versiunea PHP aleasă.
Cum se adresează
Instalați MySQL Native Driver din panoul de control al găzduirii web sau folosind interfața de linie de comandă pentru a activa extensia WordPress mysqli. Pentru PHP 8.1, pachetul se va numi php81-php-mysqlnd sau ea-php81-php-mysqlnd.x86_64 dacă utilizați cPanel.
Pe un server CentOS fără un panou de control, rulați yum install php81-php-mysqlnd din interfața de linie de comandă. Pentru serverele Ubuntu, puteți instala mysqlnd. Sistemul va activa automat suport atât pentru mysqli, cât și pentru pdo_mysql.
Motivul 2: Extensia PHP mysqli nu este configurată corect
Odată ce driverul nativ PHP MySQL necesar este instalat, atât mysqli, cât și pdo_mysql ar trebui să fie activate și disponibile pentru utilizarea WordPress. Pentru a avea extensia încărcată cu versiunea PHP pe care o utilizați, este creat un fișier PHP special în directorul de configurare globală PHP. Dacă din anumite motive extensia mysqli nu poate fi încărcată pentru versiunea PHP aleasă, WordPress va afișa mesajul de eroare „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress”.
Cum se adresează
Verificați dacă MySQL Native Driver, sau mysqlnd, este instalat corect, iar PHP a adăugat fișiere .ini atât pentru mysqlnd, cât și pentru mysqli. Pe serverele cPanel, puteți găsi fișierele de configurare 30-mysqli.ini și 20-mysqlnd.ini în directorul /opt/cpanel/ea-php81/root/etc/php.d, unde PHP 8.1 este versiunea PHP folosită de site-ul dvs. WordPress. Fișierele trebuie să conțină rândurile de mai jos pentru ca extensiile să fie încărcate corect.
Motivul 3: utilizați o versiune învechită de WordPress cu PHP 7+
Este puțin probabil, dar este posibil să utilizați în continuare o versiune foarte învechită de WordPress cu versiuni PHP mai noi. Nu numai că utilizarea versiunilor de software învechite face mult mai probabil să întâmpinați diverse probleme WordPress, dar deschide și posibilități aproape nelimitate pentru hackeri de a obține acces la site-ul dvs. și de a efectua acțiuni rău intenționate.
Cum se adresează
Obișnuiește-te să păstrezi tot software-ul pe care îl folosești actualizat la cea mai recentă versiune. Actualizați WordPress, tema activă și toate pluginurile. Utilizați întotdeauna cea mai recentă versiune PHP pentru a evita orice probleme care decurg din incompatibilitatea codului și vulnerabilitățile de securitate nepatchate.
Deoarece nu aveți acces la tabloul de bord de administrare WordPress, utilizați interfața pentru linia de comandă WordPress pentru a efectua toate actualizările. Puteți folosi următoarele comenzi:
- actualizare de bază wp. Actualizați nucleul WordPress.
- wp plugin update <nume plugin>. Actualizați un anumit plugin sau utilizați indicatorul — all pentru a actualiza toate pluginurile simultan.
- Actualizarea temei wp <numele temei active>. Actualizați-vă tema activă.
Dacă WordPress vă arată mesajul de eroare care lipsește extensia MySQL, este un semn că vă luați site-ul WordPress mai în serios. Luați o abordare proactivă pentru gestionarea tuturor aspectelor, mai ales când vine vorba de securitate. iThemes Security Pro și BackupBuddy, soluțiile lider în industrie pentru securitatea WordPress și protecția datelor, pot face procesul ușor și fără dureri de cap.
Utilizarea iThemes Security Pro este ca și cum ai avea în echipa ta un expert în securitate care îți va monitoriza site-ul WordPress 24/7, permițându-ți să te concentrezi pe dezvoltarea afacerii tale. Protejând peste un milion de site-uri WordPress din întreaga lume, BackupBuddy face automat copii de rezervă ale site-ului dvs. la intervale regulate pentru a stoca o copie a acestuia într-o locație sigură pentru restaurări cu un singur clic ori de câte ori aveți nevoie de ele. În acest fel, vă puteți recupera cu ușurință de la toate erorile WordPress și infecțiile cu malware, dar rețineți – prevenirea atacurilor este întotdeauna mai bună decât a face față consecințelor.
Funcția de scanare a site-ului verifică zonele critice ale site-ului dvs. și aplică automat remedieri pentru a vă menține site-ul liber de pluginuri și teme învechite care îl expun la un risc mare. Cu iThemes Security Site Scan, puteți reduce semnificativ suprafața de atac și vă puteți menține site-ul în siguranță împotriva atacurilor de rețea de toate tipurile.
Gestionarea versiunii de securitate iThemes vă permite să configurați actualizări automate pentru nucleul, pluginurile și temele WordPress pentru a utiliza funcții noi și a rămâne protejat de vulnerabilitățile cunoscute.
Menținerea la zi a WordPress este extrem de importantă și vă poate economisi o mulțime de timp în abordarea diverselor probleme WordPress cauzate de software-ul învechit.
Alte motive
La fel ca orice altă problemă WordPress, eroarea „Instalarea dvs. PHP pare să lipsească extensia MySQL care este cerută de WordPress” poate fi afișată pe site-ul dvs. pentru o mare varietate de motive care depășesc ceea ce descriem mai sus. Cu toate acestea, de cele mai multe ori sunt legate de configurații greșite ale handler-ului PHP sau de utilizarea sistemului de operare CloudLinux care are propriul mod de a configura PHP pe partea de server.
Selector PHP CloudLinux
Folosind Cloudlinux, puteți folosi CageFS, o soluție robustă pentru izolarea totală a utilizatorilor, care previne atacurile cu linkuri simbolice între conturi și vă securizează site-urile web. Dacă utilizați CageFS, trebuie să utilizați CloudLinux PHP Selector, care introduce adesea complicații suplimentare pentru utilizatorii cPanel, care ar gestiona în mod normal PHP de pe server din MultiPHP Manager. Consultați ghidul CloudLinux pentru utilizarea PHP Selector cu cPanel sau contactați furnizorul dvs. de găzduire pentru asistență.
Cum să remediați eroarea „Instalarea dvs. PHP pare să lipsească extensia MySQL, care este cerută de WordPress”
Pentru a remedia eroarea „Instalarea dvs. PHP pare să lipsească extensia MySQL care este cerută de WordPress”, va trebui să vă asigurați că instalarea dvs. PHP are driverul de bază de date MySQL (mysqlnd) și extensia mysqli instalate și configurate corect. Numai atunci veți putea restabili conexiunea normală între WordPress și baza de date WordPress și veți putea face site-ul dvs. să funcționeze din nou.
Urmați pașii de mai jos pentru a remedia eroarea de extensie lipsă WordPress MySQL:
- Creați o pagină de informații PHP pentru a vă revizui configurația PHP.
- Verificați dacă extensia mysqli este instalată și configurată corect.
- Restabiliți capacitatea WordPress de a se conecta la baza sa de date și preveniți erorile viitoare.
Pasul 1. Creați o pagină de informații PHP pentru a vă revizui configurația PHP
Cel mai simplu mod de a verifica configurația instalării PHP este prin crearea unei pagini de informații PHP. Creați un fișier numit phpinfo.php în directorul rădăcină a documentelor site-ului dvs. WordPress și introduceți următorul cod în el:
<?php
phpinfo( );
?>
Alternativ, executați următoarele dacă sunteți conectat la site-ul dvs. prin SSH. Acesta va crea un fișier phpinfo.php și va ajusta permisiunile acestuia.
echo "<?php phpinfo(); ?>" > phpinfo.php ; chown $(stat -c %U .). phpinfo.php
Deschideți pagina phpinfo.php nou creată în browser, tastând site-ul web.com/phpinfo.php în bara de adrese. Înlocuiți site-ul dvs. web.com cu numele de domeniu real al site-ului dvs. WordPress. Chiar dacă nu se încarcă conținut din cauza erorii de extensie MySQL lipsă, nu veți avea probleme la deschiderea paginii de informații PHP.
Ar trebui să vedeți o pagină similară cu cea de mai jos, care va conține toată configurația pentru versiunea PHP pe care o utilizați pentru site-ul dvs. WordPress. În acest caz, este PHP 8.1. A avea o pagină de informații PHP este utilă pentru depanarea diferitelor erori WordPress, inclusiv mesajul „A existat o eroare critică pe site-ul tău” din WordPress.
În partea de sus a paginii, veți vedea versiunea PHP folosită de site-ul dvs. WordPress. Iată câteva dintre cele mai importante aspecte ale instalării PHP pe care ar trebui să le verificați mai întâi:
- handler PHP. Managerul PHP folosit de site-ul dvs. va fi afișat ca API-ul server. În captura de ecran de mai sus, este FPM/FastCGI.
- Fișier de configurare încărcat. Fișierul de configurare principal încărcat pentru versiunea PHP în uz.
- Fișiere .ini suplimentare analizate. Această listă va conține toate celelalte fișiere de configurare PHP încărcate, inclusiv cele care încarcă driverul nativ MySQL (20-mysqlnd.ini) și extensia mysqli (30-mysqli.ini).
Asigurați-vă că lista de fișiere .ini suplimentare analizate conține fișierele necesare 20-mysqlnd.ini și 30-mysqli.ini care asigură că extensia PHP WordPress MySQL necesară mysqli este încărcată corect și poate fi utilizată de site-ul dvs. web.
Pasul 2. Verificați dacă extensia mysqli este instalată și configurată corect
Derulați în jos pagina de informații PHP sau utilizați opțiunea de căutare din browser pentru a examina secțiunile mysqli și mysqlnd ale acesteia. Ar trebui să meargă unul după altul.
Rețineți că extensia mysqli este compilată pentru a utiliza driverul nativ MySQL, așa cum ne arată versiunea Bibliotecă API client mysqlnd. Informațiile despre extensia PHP ne arată câteva detalii suplimentare, inclusiv portul MySQL/MariaDB.
Verificați ce extensii API secțiunea mysqlnd din listele de fișiere de informații PHP. În captura de ecran de mai sus, avem atât mysqli, cât și pdo_mysql activate.
Pasul 3. Restabiliți capacitatea WordPress de a se conecta la baza de date
Pagina de informații PHP vă va arăta dacă versiunea PHP pe care o utilizați pentru site-ul dvs. WordPress are extensia mysqli instalată și configurată. Dacă lipsește, instalați-l din interfața de gestionare PHP furnizată de panoul de control al găzduirii web sau folosind interfața de linie de comandă.
Verificați 20-mysqlnd.ini și 30-mysqli.ini la care se face referire pentru a vedea dacă încarcă extensia corect. Dacă utilizați o versiune învechită de WordPress, actualizați instalarea și toate pluginurile și temele.
Pașii pe care i-am subliniat în acest ghid ar trebui să vă ajute să restabiliți funcționalitatea site-ului dvs. WordPress în marea majoritate a cazurilor. Cu toate acestea, așa cum am menționat, pot apărea și alte probleme, inclusiv configurările greșite ale handlerului PHP, care pot duce la afișarea mesajului de eroare „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress” pe site-ul dvs. web. Cel mai bine este să contactați echipa de asistență pentru găzduire web pentru asistență suplimentară dacă nu este clar care este cauza problemei.
Încheierea
Eroarea de extensie lipsă WordPress MySQL este una dintre problemele WordPress legate de capacitatea sa de a comunica cu baza sa de date. Indică faptul că extensia PHP mysqli necesară lipsește sau este configurată incorect, ceea ce face ca PHP să nu poată trimite interogări SQL la baza de date WordPress. Începând de la PHP 7.0, extensia mysql mai veche a fost eliminată în favoarea mysqli, noua extensie WordPress MySQL compilată pentru a utiliza driverul nativ MySQL.
La fel ca orice altă eroare critică WordPress, a vedea eroarea „Instalarea dvs. PHP pare să lipsească extensia MySQL cerută de WordPress” înseamnă că trebuie să vă revizuiți configurația WordPress și să vă asigurați că sunt aplicate cele mai bune practici de securitate.
Abordarea proactivă a administrării și securității site-ului WordPress vă va ajuta să preveniți majoritatea erorilor și să reduceți în mod semnificativ suprafața de atac. Configurați monitorizarea, actualizările automate de software și backup-urile regulate pentru a vă proteja site-ul împotriva vulnerabilităților de securitate și a atacurilor de rețea. Permiteți iThemes Security Pro și BackupBuddy să fie echipa dvs. de experți în securitate și recuperare de date, care se vor asigura că site-ul dvs. nu va fi niciodată offline.
Cel mai bun plugin de securitate WordPress pentru a securiza și proteja WordPress
WordPress alimentează în prezent peste 40% din toate site-urile web, așa că a devenit o țintă ușoară pentru hackerii cu intenții rău intenționate. Pluginul iThemes Security Pro elimină presupunerile din securitatea WordPress pentru a facilita securizarea și protejarea site-ului dvs. WordPress. Este ca și cum ai avea în personal un expert în securitate cu normă întreagă care monitorizează și protejează constant site-ul tău WordPress pentru tine.
Kiki are o diplomă de licență în managementul sistemelor informatice și mai mult de doi ani de experiență în Linux și WordPress. În prezent lucrează ca specialist în securitate pentru Liquid Web și Nexcess. Înainte de asta, Kiki a făcut parte din echipa de asistență Liquid Web Managed Hosting, unde a ajutat sute de proprietari de site-uri WordPress și a aflat ce probleme tehnice întâmpină adesea. Pasiunea ei pentru scris îi permite să-și împărtășească cunoștințele și experiența pentru a ajuta oamenii. Pe lângă tehnologie, lui Kiki îi place să învețe despre spațiu și să asculte podcasturi despre crime adevărate.