Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🔧 PHP mysql laienduse puudumise viga WordPressis: kuidas seda 10 minutiga parandada

🔧 PHP mysql laienduse puudumise viga WordPressis: kuidas seda 10 minutiga parandada

Külastate oma WordPressi saiti, et kontrollida administraatori paneeli, kuid selle asemel näete valget ekraani veateatega: „Your PHP installation appears to be missing the MySQL extension which is required by WordPress". Taaskäivitamine ei aita, majutusteenuse pakkuja vaikib, sait ripub surnud raskusena.

See viga ei ole teie serveri surmaotsus ega põhjus paanikaks. Enamasti ilmneb see pärast PHP uuendamist, saidi teise VPS-i viimist või operatsioonisüsteemi vahetamist. WordPress kaotab silla PHP ja MySQL-i vahel ning saate selle taastada 10 minutiga.

Allpool on samm-sammuline juhend: diagnostikast kuni lõpliku konfiguratsiooni taaskäivitamiseni. Kõik käsud kehtivad PHP 8.0-8.4, Ubuntu serverite, RedHatiga ühilduvate distributsioonide ja cPaneliga majutuse jaoks.

💡 Kiire ülevaade:

  • Kontrollige praegust PHP versiooni ja aktiivseid laiendusi WordPressi saidi tervise tööriista kaudu
  • Paigaldage puuduvad moodulid: sudo apt install php-mysql Ubuntu jaoks või sudo dnf install php-mysqlnd RHEL-i jaoks
  • Kontrollige extension_dir direktiivi failis php.ini, serveri migreerimisel läheb see tee sageli katki
  • Lubage mysqli ja pdo_mysql oma majutuse paneeli (cPanel, Plesk) kaudu kahe klõpsuga
  • Veenduge, et WordPressi versioonid ja PHP ühilduksid: mõlemad peaksid olema ajakohased

1. Kontrollige PHP versiooni ja aktiivseid laiendusi

Kiireim diagnostikameetod on WordPressi sisseehitatud saidi tervise tööriist. Minge administraatori paneeli: Tööriistad, Saidi tervis, vahekaart Info. Laiendage jaotist Server, siit leiate PHP versiooni. Kui see on alla 7.4, on aeg uuendada: vastavalt WordPressi nõuetele on minimaalne PHP versioon WP 6.x jaoks 7.4 ja soovitatav on 8.0+.

Nüüd laiendage jaotist Andmebaas. Kui read mysqli ja pdo_mysql on tühjad või puuduvad, olete leidnud vea põhjuse. WordPress üritab kasutada laiendust, mida PHP versioonis ei eksisteeri.

Kui olete seal, kontrollige ka jaotist Failisüsteem: õiguste probleemid võivad kaudselt mõjutada PHP moodulite laadimist.

Kui administraatori paneel pole ligipääsetav (täielik valge ekraan), looge saidi juurkausta fail info.php koodiga <?php phpinfo(); ja avage see oma brauseris. Esimene rida näitab täpset PHP versiooni ja mysqli otsing näitab, kas laiendus on olemas.

2. Paigaldage mysqli ja PDO MySQL laiendused konsooli kaudu

Ühenduge serveriga SSH kaudu ja kontrollige, mis on paigaldatud:

1php -v
2php -m | grep -E 'mysqli|pdo_mysql'

Kui mysqli ja pdo_mysql puuduvad väljundist, paigaldage need. Käsud erinevad sõltuvalt distributsioonist.

Ubuntu / Debian:

1sudo apt update
2sudo apt install php-mysql

php-mysql pakett tõmbab kaasa mysqli, pdo_mysql ja mysqlnd draiveri, kõik, mida WordPress vajab. Kui teil on mitu PHP versiooni, täpsustage konkreetne: php8.2-mysql, php8.3-mysql. Paigaldamise üksikasju on kirjeldatud PHP mysqli käsiraamatus.

RHEL / CentOS / AlmaLinux:

1sudo dnf update
2sudo dnf install php-mysqlnd

Pärast paigaldamist taaskäivitage veebiserver:

1sudo systemctl restart apache2
2sudo systemctl restart php8.3-fpm
3sudo systemctl restart nginx

Enamasti kaob viga kohe pärast taaskäivitust.

3. Kontrolli php.ini failis olevat extension_dir direktiivi

Paketid on installitud, aga WordPress kurdab ikka? See juhtub saidi migratsiooni ajal: PHP konfiguratsioon „kolis" koos vanade teedega uude serverisse.

Ava oma brauseris info.php ja otsi üles parameeter Loaded Configuration File, see on aktiivse php.ini faili asukoht.

Laaditud PHP seadistusfaili asukoht phpinfo väljundis

Nüüd otsi üles extension_dir, kataloog, kust PHP mooduleid laadib. Kui väärtus on tühi või osutab olematule kaustale, siis mysqli.so ei laadi ja WordPress ei näe MySQL-i.

extension_dir direktiivi väärtus phpinfo väljundis

Ava php.ini (asukoht on sul juba teada) ja otsi üles rida extension_dir. Uuenda see kehtivale väärtusele. Ubuntu 22.04/24.04 puhul koos PHP 8.3-ga on see tavaliselt:

1extension_dir = "/usr/lib/php/20230831"

cPaneliga serverites on asukoht teine, kontrolli täpset väärtust failist info.php.

MySQL toe sektsioon phpinfo väljundis koos klienditeegi versiooniga

Pärast muudatuste tegemist salvesta php.ini, taaskäivita veebiserver ja kustuta kindlasti info.php, sest avalik phpinfo() paljastab moodulite versioonid ja serveri absoluutsed teed.

4. Lülita laiendused majutuse juhtpaneeli kaudu sisse

Töötad konsooli asemel paneeli kaudu? Enamik majutuse juhtpaneele haldab laiendusi hiireklõpsuga:

  • cPanel: Select PHP Version, linnukesed mysqli ja pdo_mysql kõrval, salvesta. Samas kohas lülita PHP versioon mõnele kaasaegsele.
  • Plesk: Domains, sinu domeen, PHP Settings, otsi laienduste loendist üles mysqli ja pdo_mysql.
  • DirectAdmin: Extra Features, Select PHP Version, märgi vajalikud laiendused.
  • **SiteGround, Cloudways, **Kinsta ja muu hallatav majutus: saidi paneelis jaotis PHP Extensions.

Pärast laienduste sisselülitamist taaskäivitab paneel PHP automaatselt, sait hakkab minuti jooksul tööle.

5. Veendu, et WordPressi ja PHP versioonid ühilduvad

WordPress 6.x (praegune versioon aastal 2026) nõuab minimaalselt PHP 7.4 ja soovitab 8.0+. Kui sa kasutad PHP 7.0 või 7.1, siis isegi installitud laiendustest pole abi: WP tuum eeldab mooduleid, mis on mõeldud kaasaegsele PHP versioonile.

Kontrolli ühilduvust: administraatori paneel, Tööriistad, Saidi tervis, Info, Server. Kui PHP on alla 7.4, uuenda:

  • Jagatud majutus: juhtpaneel (cPanel/Plesk), lülita PHP versiooniks 8.2 või 8.3.
  • VPS: uuenda paketihalduri kaudu:
1sudo apt update
2sudo apt install php8.3 php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring

Pärast PHP uuendamist uuenda ka WordPress: Töölaud, Uuendused, Uuenda kohe. Vanad WP versioonid viitavad mysql laiendusele, mis eemaldati PHP-st juba 2015. aastal, sellest ka viga.

Muide, seotud probleemist: kui WordPress kurdab migratsiooni ajal mälupuuduse üle, on meil olemas ülevaade, kuidas suurendada PHP mälulimiiti WordPressis.

Mis veel võib valesti minna

Kui oled kõiki 5 meetodit proovinud ja viga püsib, siis siin on kaks erandjuhtu.

Aegunud read failis php.ini. Pärast PHP uuendamist versioonilt 5.x versioonile 8.x võivad php.ini faili jääda üleliigsed read nagu extension=mysql.so. PHP 8 puhul seda faili ei eksisteeri: moodul eemaldati tuumast. Ava php.ini ja kommenteeri välja või kustuta mysql.so, mysql.dll ja libmysql. Eemaldatud laienduste nimekiri on PHP migratsioonijuhendis.

Mitu PHP versiooni serveris. VPS-is eksisteerivad sageli koos PHP 7.4 ja PHP 8.3. Käsk php -m näitab mooduleid CLI versiooni jaoks, kuid sait võib kasutada teist versiooni, seda, mis on seadistatud Apache/FPM-is. Kontrolli info.php faili: esimene rida näitab täpset PHP versiooni veebi jaoks. Installi paketid selle jaoks.

Hostingeri meeskonna video näitab laienduse paigaldamist cPaneli ja konsooli kaudu, 4 minutit ja pilt on täiesti selge.

⁉️🤔 Korduma kippuvad küsimused

Miks mainib viga MySQL-i laiendust, kui vaja on mysqli-t?

Veateade pole muutunud alates PHP 5.x ajastust. Tol ajal kandis laiendus nime mysql ja WordPress kontrollis just seda. PHP 8.x versioonides eemaldati mysql laiendus täielikult, WordPress kasutab mysqli või PDO_MySQL. Veateate tekst jäi ajaloolistel põhjustel samaks. Paigalda pakett php-mysql: see sisaldab mysqli, pdo_mysql ja mysqlnd, kõike, mida WordPress vajab.

Kas vea saab parandada ilma serverile ligipääsuta?

Jah, kui sait asub jagatud majutusel. Logi sisse juhtpaneeli (cPanel, Plesk, DirectAdmin), otsi üles „Select PHP Version" või „PHP Settings", linnukestega lülita sisse mysqli ja pdo_mysql. Paneel taaskäivitab PHP automaatselt, konsooliühendust pole vaja. Sellistel majutustel nagu Hostinger või Bluehost on need laiendused vaikimisi sees; kui viga ilmnes pärast paketi vahetamist, aktiveerib tugi moodulid paari minutiga.

Mida teha, kui sait pärast kõiki parandusi ei tööta?

Kontrolli kolme asja. Esiteks: ava info.php ja veendu, et mysqli kuvatakse koos Client API versiooniga. Kui sektsiooni pole, ei laadinud moodul end sisse, kontrolli üle extension_dir. Teiseks: taaskäivita terve veebiserver, sudo systemctl restart apache2 (või nginx koos php-fpm-iga). Kolmandaks: kontrolli üle DB_HOST, DB_NAME, DB_USER ja DB_PASSWORD failis wp-config.php, vahel varjab viga valesid andmebaasi paroole.

Kas vea kordumisel tuleb üle minna MariaDB-le?

Ei, andmebaasiserveri väljavahetamine probleemi ei lahenda. Viga on seotud eranditult PHP laiendustega. MariaDB on MySQL-i haru ja WordPress töötab sellega sama mysqli või PDO kaudu. Enamik majutusteenuse pakkujaid on juba vaikimisi MariaDB-le üle läinud, WordPressi saidid toimivad sellega suurepäraselt.

Kas tingimata peab paigaldama just PHP 8.3?

Ei, iga PHP 8.x versioon (8.0-8.4) töötab. Peamine on, et see poleks alla 7.4. Soovitame 8.2 või 8.3: need on stabiilsed harud, millel on aktiivne turvatoetus 2026. aastal, vastavalt ametlikule PHP ajakavale. PHP 8.0 ja 8.1 on juba ainult turvaparanduste staatuses ning PHP 7.4 pole saanud paiku alates 2022. aasta novembrist.

Kas selle vea pärast peaks paanikasse sattuma

„Puuduva MySQL-i laienduse" viga näeb hirmutav välja, kuid sisuliselt on see signaal: server pole täielikult seadistatud. PHP ilma andmebaasitöö moodulita on nagu auto ilma süütevõtmeta. Kirjeldatud meetodid katavad valdava enamuse juhtudest, süsteemiadministraatorit pole vaja.

Pärast parandamist tee pisut koristustööd: kustuta info.php, uuenda WordPress ja pluginad viimastele versioonidele, seadista automaatsed varukoopiad UpdraftPlusi või majutuspaneeli kaudu. Siis möödub järgmine migratsioon või PHP uuendus üllatusteta.