
🔧 PHP missing MySQL extension -virhe WordPressissä: kuinka korjata se 10 minuutissa
Käyt WordPress-sivustosi hallintapaneelissa, mutta näetkin valkoisen ruudun ja virheilmoituksen: "Your PHP installation appears to be missing the MySQL extension which is required by WordPress". Uudelleenkäynnistys ei auta, palveluntarjoaja pysyy hiljaa, sivusto makaa kuolleena painona.
Tämä virhe ei ole palvelimesi kuolemantuomio eikä syy paniikkiin. Useimmiten se ilmenee PHP-päivityksen, sivuston siirron toiselle VPS:lle tai käyttöjärjestelmän vaihdon jälkeen. WordPress kadottaa sillan PHP:n ja MySQL:n väliltä, ja voit palauttaa sen 10 minuutissa.
Alla on vaiheittainen opas: diagnostiikasta lopulliseen konfiguraation uudelleenlataukseen. Kaikki komennot ovat ajantasaisia PHP 8.0-8.4:lle, palvelimille, joissa on Ubuntu, RedHat-yhteensopivat jakelut, ja hosting-palveluille, joissa on cPanel.
💡 Pikakatsaus:
- Tarkista nykyinen PHP-versio ja aktiiviset laajennukset WordPressin Site Health -työkalulla
- Asenna puuttuvat moduulit:
sudo apt install php-mysqlUbuntulle taisudo dnf install php-mysqlndRHEL:lle - Tarkista
extension_dir-direktiivi php.ini-tiedostosta, palvelinsiirron yhteydessä polku usein korruptoituu - Ota
mysqlijapdo_mysqlkäyttöön hosting-hallintapaneelista (cPanel, Plesk) kahdella klikkauksella - Varmista, että WordPress versions ja PHP ovat yhteensopivat: molempien tulisi olla ajantasaisia
1. Tarkista PHP-versio ja aktiiviset laajennukset
Nopein diagnostiikkamenetelmä on WordPressin sisäänrakennettu Site Health -työkalu. Mene hallintapaneeliin: Työkalut, Site Health, Info-välilehti. Laajenna Server-osio, täältä löydät PHP-version. Jos se on alle 7.4, on aika päivittää: WordPress requirements-vaatimusten mukaan WP 6.x:n minimi-PHP-versio on 7.4 ja suositeltu on 8.0+.
Laajenna nyt Database-osio. Jos mysqli- ja pdo_mysql-rivit ovat tyhjiä tai puuttuvat, olet löytänyt virheen syyn. WordPress yrittää käyttää laajennusta, jota ei ole PHP-koontiversiossa.
Kun olet siellä, tarkista Filesystem-osio: käyttöoikeusongelmat voivat epäsuorasti vaikuttaa PHP-moduulien lataamiseen.
Jos hallintapaneeliin ei pääse (täysin valkoinen ruutu), luo tiedosto info.php sivuston juureen koodilla <?php phpinfo(); ja avaa se selaimessasi. Ensimmäinen rivi näyttää tarkan PHP-version, ja hakemalla mysqli näet, onko laajennus olemassa.
2. Asenna mysqli- ja PDO MySQL -laajennukset konsolin kautta
Yhdistä palvelimelle SSH:lla ja tarkista, mitä on asennettu:
1 php -v 2 php -m | grep -E 'mysqli|pdo_mysql'
Jos mysqli ja pdo_mysql puuttuvat tulosteesta, asenna ne. Komennot vaihtelevat jakelun mukaan.
Ubuntu / Debian:
1 sudo apt update 2 sudo apt install php-mysql
php-mysql-paketti vetää mukanaan mysqli-, pdo_mysql- ja mysqlnd-ajurin, kaiken mitä WordPress tarvitsee. Jos sinulla on useita PHP-versioita, määritä tietty versio: php8.2-mysql, php8.3-mysql. Asennuksen yksityiskohdat on kuvattu PHP mysqli manual -oppaassa.
RHEL / CentOS / AlmaLinux:
1 sudo dnf update 2 sudo dnf install php-mysqlnd
Asennuksen jälkeen käynnistä verkkopalvelin uudelleen:
1 sudo systemctl restart apache2 2 sudo systemctl restart php8.3-fpm 3 sudo systemctl restart nginx
Useimmissa tapauksissa virhe häviää heti uudelleenkäynnistyksen jälkeen.
3. Tarkista extension_dir-määritys php.ini-tiedostosta
Paketit on asennettu, mutta WordPress valittaa yhä? Tätä tapahtuu sivuston siirrossa: PHP:n asetukset "muuttivat mukana" vanhoilla poluilla uudelle palvelimelle.
Avaa info.php selaimessa ja etsi Loaded Configuration File -parametri, tämä on polku aktiiviseen php.ini-tiedostoon.
Etsi nyt extension_dir, hakemisto, josta PHP lataa moduulit. Jos arvo on tyhjä tai osoittaa kansioon, jota ei ole olemassa, mysqli.so ei lataudu eikä WordPress näe MySQL:ää.
Avaa php.ini (polku on jo tiedossa) ja etsi extension_dir-rivi. Päivitä se nykyiseen arvoon. Ubuntu 22.04/24.04 ja PHP 8.3 -yhdistelmällä se on yleensä:
1 extension_dir = "/usr/lib/php/20230831"
Palvelimilla, joissa on cPanel, polku on eri, tarkista tarkka arvo info.php-tiedostosta.

Kun olet tehnyt muutokset, tallenna php.ini, käynnistä verkkopalvelin uudelleen ja muista poistaa info.php, julkinen phpinfo() paljastaa moduuliversiot ja palvelimen absoluuttiset polut.
4. Ota laajennukset käyttöön hosting-hallintapaneelin kautta
Työskenteletkö paneelin kautta konsolin sijaan? Useimmat hosting-paneelit hallitsevat laajennuksia hiirellä:
- cPanel: Select PHP Version, valintaruudut kohtien
mysqlijapdo_mysqlkohdalla, tallenna. Vaihda samalla PHP-versio moderniin. - Plesk: Domains, oma verkkotunnuksesi, PHP Settings, etsi
mysqlijapdo_mysqllaajennuslistasta. - DirectAdmin: Extra Features, Select PHP Version, valitse tarvittavat laajennukset.
- **SiteGround, Cloudways, **Kinsta ja muut hallinnoidut hostingit: PHP Extensions -osio sivuston hallintapaneelissa.
Kun laajennukset on otettu käyttöön, paneeli käynnistää PHP:n automaattisesti uudelleen, ja sivusto toimii minuutin sisällä.
5. Varmista, että WordPress- ja PHP-versiot ovat yhteensopivat
WordPress 6.x (nykyinen versio vuonna 2026) vaatii vähintään PHP 7.4:n ja suosittelee versiota 8.0+. Jos käytössäsi on PHP 7.0 tai 7.1, edes asennetut laajennukset eivät auta: WP-ydin odottaa modernin PHP-version moduuleja.
Tarkista yhteensopivuus: hallintapaneeli, Työkalut, Sivuston kunto, Tiedot, Palvelin. Jos PHP on alle 7.4, päivitä:
- Jaettu hosting: hallintapaneeli (cPanel/Plesk), vaihda PHP versioon 8.2 tai 8.3.
- VPS: päivitä paketinhallinnan kautta:
1 sudo apt update 2 sudo apt install php8.3 php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring
PHP:n päivityksen jälkeen päivitä myös WordPress: Kojelauta, Päivitykset, Päivitä nyt. Vanhat WP-versiot viittaavat mysql-laajennukseen, joka poistettiin PHP:stä jo vuonna 2015, mistä virhe johtuu.
Muuten, liittyen toiseen ongelmaan: jos WordPress valittaa muistin puutteesta siirron aikana, meillä on erillinen artikkeli siitä, miten PHP:n muistirajaa nostetaan WordPressissä.
Mikä muu voi mennä pieleen
Jos olet kokeillut kaikkia viittä tapaa ja virhe jatkuu, tässä on kaksi erikoistapausta.
Vanhentuneet rivit php.ini-tiedostossa. Kun PHP on päivitetty 5.x:stä 8.x:ään, php.ini-tiedostossa saattaa olla jäänteitä extension=mysql.so -riveistä. PHP 8:ssa tätä tiedostoa ei ole: moduuli poistettiin ytimestä. Avaa php.ini ja kommentoi pois tai poista mysql.so, mysql.dll ja libmysql. Lista poistetuista laajennuksista on PHP:n migraatio-oppaassa.
Useita PHP-versioita palvelimella. VPS:llä PHP 7.4 ja PHP 8.3 ovat usein rinnakkain. Komento php -m näyttää komentoriviversion moduulit, mutta sivusto saattaa käyttää eri versiota, sitä joka on määritetty Apachessa/FPM:ssä. Tarkista info.php: ensimmäinen rivi näyttää tarkan PHP-version webille. Asenna paketit sitä varten.
Hostingerin tiimin video näyttää laajennuksen asennuksen cPanelin ja konsolin kautta, 4 minuuttia ja kuva on täysin selvä.
⁉️🤔 Usein kysytyt kysymykset
Miksi virhe mainitsee MySQL-laajennuksen, kun tarvitaan mysqli?
Virheilmoitus ei ole muuttunut PHP 5.x -aikakauden jälkeen. Silloin laajennuksen nimi oli
mysql, ja WordPress tarkisti nimenomaan sitä. PHP 8.x:ssämysql-laajennus poistettiin kokonaan, WordPress käyttäämysqli- taiPDO_MySQL-laajennusta. Virheteksti säilyi samana historiallisista syistä. Asennaphp-mysql-paketti: se sisältäämysqli- japdo_mysql-laajennukset sekämysqlnd-ajurin, eli kaiken mitä WordPress tarvitsee.
Voiko virheen korjata ilman palvelinyhteyttä?
Kyllä, jos sivusto on jaetulla hostingilla. Kirjaudu hallintapaneeliin (cPanel, Plesk, DirectAdmin), etsi "Select PHP Version" tai "PHP Settings" ja ota
mysqlijapdo_mysqlkäyttöön valintaruuduilla. Paneeli käynnistää PHP:n automaattisesti uudelleen, konsoliyhteyttä ei tarvita. Hostingerin tai Bluehostin kaltaisilla hostingeilla nämä laajennukset ovat oletuksena päällä; jos virhe ilmestyi paketin vaihdon jälkeen, tuki aktivoi moduulit parissa minuutissa.
Mitä tehdä, jos sivusto ei toimi kaikkien korjausten jälkeen?
Tarkista kolme asiaa. Ensimmäinen: avaa
info.phpja varmista, ettämysqlinäkyy ja siinä on Client API -versio. Jos osiota ei ole, moduuli ei latautunut, tarkistaextension_dir. Toinen: käynnistä koko verkkopalvelin uudelleen,sudo systemctl restart apache2(tainginxjaphp-fpm). Kolmas: tarkistaDB_HOST,DB_NAME,DB_USERjaDB_PASSWORDtiedostostawp-config.php, joskus virhe peittää alleen väärät tietokantatunnukset.
Pitääkö vaihtaa MariaDB:hen, jos virhe toistuu?
Ei, tietokantapalvelimen vaihtaminen ei ratkaise ongelmaa. Virhe liittyy yksinomaan PHP-laajennuksiin. MariaDB on MySQL-haara, ja WordPress toimii sen kanssa samojen
mysqli- taiPDO-laajennusten kautta. Useimmat hosting-palveluntarjoajat ovat jo siirtyneet oletuksena MariaDB:hen, ja WordPress-sivustot toimivat sen kanssa moitteettomasti.
Onko pakko asentaa juuri PHP 8.3?
Ei, mikä tahansa PHP 8.x -versio (8.0-8.4) toimii. Pääasia on, ettei versio ole alle 7.4. Suosittelemme versiota 8.2 tai 8.3: ne ovat vakaita haaroja, joilla on aktiivinen tietoturvatuki vuonna 2026 virallisen PHP-aikataulun mukaan. PHP 8.0 ja 8.1 ovat jo pelkän tietoturvakorjauksen piirissä, ja PHP 7.4 ei ole saanut päivityksiä marraskuun 2022 jälkeen.
Pitääkö tästä virheestä huolestua
"Missing MySQL extension" -virhe näyttää pelottavalta, mutta pohjimmiltaan se on merkki siitä, ettei palvelinta ole täysin määritetty. PHP ilman tietokantatyöskentelyn moduulia on kuin auto ilman virtalukon avaimia. Kuvatut menetelmät kattavat valtaosan tapauksista, eikä järjestelmänvalvojaa tarvita.
Korjauksen jälkeen tee hieman ylläpitotöitä: poista info.php, päivitä WordPress ja lisäosat uusimpiin versioihin, määritä automaattiset varmuuskopiot UpdraftPlus-lisäosalla tai hallintapaneelin kautta. Silloin seuraava migraatio tai PHP-päivitys sujuu ilman yllätyksiä.



