
🔧 Помилка «PHP missing MySQL extension» у WordPress: як виправити за 10 хвилин
Ви заходите перевірити сайт на WordPress, а замість адмінки, білий екран із помилкою: «Your PHP installation appears to be missing the MySQL extension which is required by WordPress». Перезавантаження не допомагає, хостинг-провайдер мовчить, сайт висить мертвим вантажем.
Така помилка, не вирок серверу й не привід для паніки. Найчастіше вона виникає після оновлення PHP, перенесення сайту на інший VPS або зміни операційної системи. WordPress втрачає місток між PHP і MySQL, і його можна відновити за 10 хвилин.
Нижче, покрокова інструкція: від діагностики до фінального перезавантаження конфігурації. Усі команди актуальні для PHP 8.0-8.4, серверів на Ubuntu, RedHat-сумісних дистрибутивах і хостингів із cPanel.
💡 Швидкий огляд:
- Перевірте поточну версію PHP та активні розширення через Site Health WordPress
- Встановіть відсутні модулі:
sudo apt install php-mysqlдля Ubuntu абоsudo dnf install php-mysqlndдля RHEL - Перевірте директиву
extension_dirу php.ini, під час міграції сервера шлях часто збивається - Увімкніть
mysqliіpdo_mysqlчерез панель хостингу (cPanel, Plesk) у два кліки - Переконайтеся, що версії WordPress і PHP сумісні: обидві мають бути свіжими
1. Перевірте версію PHP та активні розширення
Найшвидший спосіб діагностики, вбудований у WordPress інструмент Site Health. Зайдіть в адмінку: Інструменти, Site Health, вкладка Info. Розгорніть секцію Server, тут указано версію PHP. Якщо вона нижча за 7.4, час оновлюватися: згідно з вимогами WordPress, мінімальна версія PHP для WP 6.x, 7.4, а рекомендована, 8.0+.
Тепер розгорніть секцію Database. Якщо рядки mysqli і pdo_mysql порожні або відсутні, причину помилки знайдено. WordPress намагається використати розширення, якого немає у збірці PHP.
Принагідно перевірте секцію Filesystem: проблеми з правами доступу можуть опосередковано впливати на завантаження PHP-модулів.
Якщо адмінка недоступна (глухий білий екран), створіть файл info.php у корені сайту з кодом <?php phpinfo(); і відкрийте його в браузері. Перший рядок покаже точну версію PHP, а пошук за mysqli, наявність розширення.
2. Встановіть розширення mysqli та PDO MySQL через консоль
Підключаєтеся до сервера через SSH і перевіряєте, що встановлено:
1 php -v 2 php -m | grep -E 'mysqli|pdo_mysql'
Якщо mysqli і pdo_mysql відсутні у виводі, встановлюємо. Команди різняться залежно від дистрибутива.
Ubuntu / Debian:
1 sudo apt update 2 sudo apt install php-mysql
Пакет php-mysql тягне за собою mysqli, pdo_mysql і драйвер mysqlnd, усе, що потрібно WordPress. За наявності кількох версій PHP вкажіть конкретну: php8.2-mysql, php8.3-mysql. Деталі встановлення описано в посібнику PHP щодо mysqli.
RHEL / CentOS / AlmaLinux:
1 sudo dnf update 2 sudo dnf install php-mysqlnd
Після встановлення перезапустіть вебсервер:
1 sudo systemctl restart apache2 2 sudo systemctl restart php8.3-fpm 3 sudo systemctl restart nginx
У більшості випадків помилка зникає одразу після перезапуску.
3. Перевірте директиву extension_dir у php.ini
Пакунки встановлено, але WordPress продовжує скаржитися? Таке трапляється під час перенесення сайту: PHP-конфігурація «переїхала» зі старими шляхами на новий сервер.
Відкрийте info.php у браузері та знайдіть параметр Loaded Configuration File, це шлях до активного php.ini.
Тепер знайдіть extension_dir, директорію, звідки PHP підвантажує модулі. Якщо значення порожнє або вказує на неіснуючу теку, mysqli.so не завантажиться, і WordPress не побачить MySQL.
Відкрийте php.ini (шлях уже знаєте) і знайдіть рядок extension_dir. Приведіть його до актуального значення. На Ubuntu 22.04/24.04 із PHP 8.3 це зазвичай:
1 extension_dir = "/usr/lib/php/20230831"
На серверах із cPanel шлях інший, дивіться точне значення в info.php.

Після правок збережіть php.ini, перезапустіть вебсервер і обов’язково видаліть info.php, публічний phpinfo() розкриває версії модулів та абсолютні шляхи сервера.
4. Увімкніть розширення через панель керування хостингом
Працюєте через панель, а не консоль? Більшість хостинг-панелей керують розширеннями мишкою:
- cPanel: Select PHP Version, позначки навпроти
mysqliтаpdo_mysql, зберегти. Там само перемкніть версію PHP на сучасну. - Plesk: Domains, ваш домен, PHP Settings, знайдіть
mysqliтаpdo_mysqlу списку розширень. - DirectAdmin: Extra Features, Select PHP Version, позначте потрібні розширення.
- **SiteGround, Cloudways, **Kinsta та інші managed-хостинги: розділ PHP Extensions у панелі сайту.
Після ввімкнення розширень панель сама перезапустить PHP, сайт запрацює протягом хвилини.
5. Переконайтеся, що версії WordPress і PHP сумісні
WordPress 6.x (актуальна версія на 2026 рік) вимагає щонайменше PHP 7.4 і рекомендує 8.0+. Якщо ви сидите на PHP 7.0 або 7.1, навіть встановлені розширення не врятують: ядро WP очікує модулі під сучасну версію PHP.
Перевірте сумісність: адмінка, Інструменти, Site Health, Info, Server. PHP нижче 7.4, оновлюйте:
- Shared-хостинг: панель керування (cPanel/Plesk), перемкніть PHP на 8.2 або 8.3.
- VPS: оновіть через пакунковий менеджер:
1 sudo apt update 2 sudo apt install php8.3 php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring
Після оновлення PHP оновіть і WordPress: Dashboard, Updates, Update Now. Старі версії WP посилаються на розширення mysql, видалене з PHP ще у 2015 році, звідси й помилка.
До речі, про близьку проблему: якщо WordPress скаржиться на брак пам’яті під час переїзду, у нас є розбір, як збільшити ліміт пам’яті PHP у WordPress.
Що ще може піти не так
Якщо 5 способів перепробувано, а помилка залишилася, два крайові випадки.
Застарілі рядки в php.ini. Після оновлення PHP з 5.x до 8.x у php.ini можуть залишитися рядки extension=mysql.so. У PHP 8 такого файлу немає: модуль видалено з ядра. Відкрийте php.ini і закоментуйте або видаліть mysql.so, mysql.dll та libmysql. Список видалених розширень, у посібнику з міграції PHP.
Кілька версій PHP на сервері. На VPS часто сусідять PHP 7.4 і PHP 8.3. Команда php -m показує модулі CLI-версії, а сайт може використовувати іншу, ту, що налаштована в Apache/FPM. Перевірте info.php: перший рядок, точна версія PHP для вебу. Ставте пакунки під неї.
Відео від команди Hostinger показує встановлення розширень через cPanel і консоль, 4 хвилини, і картина повністю зрозуміла.
⁉️🤔 Часті запитання
Чому помилка говорить про MySQL extension, якщо потрібен mysqli?
Повідомлення про помилку не змінювалося з часів PHP 5.x. Тоді розширення називалося
mysql, і WordPress перевіряв саме його. У PHP 8.x розширенняmysqlвидалено повністю, WordPress використовуєmysqliабоPDO_MySQL. Текст помилки залишився старим з історичних причин. Встановлюйте пакунокphp-mysql: він містить іmysqli, іpdo_mysql, іmysqlnd, усе, що потрібно WordPress.
Чи можна виправити помилку без доступу до сервера?
Так, якщо сайт на shared-хостингу. Зайдіть у панель керування (cPanel, Plesk, DirectAdmin), знайдіть «Select PHP Version» або «PHP Settings», увімкніть
mysqliіpdo_mysqlпрапорцями. Панель сама перезапустить PHP, доступ до консолі не потрібен. На хостингах на кшталт Hostinger чи Bluehost ці розширення увімкнені за замовчуванням; якщо помилка виникла після зміни тарифу, підтримка активує модулі за кілька хвилин.
Що робити, якщо після всіх виправлень сайт не працює?
Перевірте три моменти. Перше: відкрийте
info.phpі переконайтеся, щоmysqliвідображається з версією Client API. Немає секції, модуль не завантажився, перевірте ще разextension_dir. Друге: перезапустіть вебсервер повністю,sudo systemctl restart apache2(абоnginxплюсphp-fpm). Третє: звірте DB_HOST, DB_NAME, DB_USER і DB_PASSWORD уwp-config.php, іноді помилка маскує невірні реквізити бази даних.
Чи потрібно переходити на MariaDB, якщо помилка повторюється?
Ні, заміна сервера баз даних не вирішить проблему. Помилка пов’язана виключно з PHP-розширеннями. MariaDB — це відгалуження MySQL, і WordPress працює з ним через ті самі
mysqliабоPDO. Більшість хостингів уже перейшли на MariaDB за замовчуванням, сайти на WordPress чудово з нею функціонують.
Чи обов’язково ставити саме PHP 8.3?
Ні, підійде будь-яка версія PHP 8.x (8.0-8.4). Головне, не нижче 7.4. Рекомендуємо 8.2 або 8.3: це стабільні гілки з активною підтримкою безпеки на 2026 рік, згідно з офіційним графіком PHP. PHP 8.0 і 8.1 уже в статусі security-fixes-only, а PHP 7.4 не отримує патчів із листопада 2022.
Чи варто панікувати при цій помилці
Помилка «відсутнє розширення MySQL» виглядає страхітливо, але по суті це сигнал: сервер налаштований не до кінця. PHP без модуля для роботи з базою, як машина без ключа запалювання. Описані методи покривають абсолютну більшість випадків, системний адміністратор для них не потрібен.
Після виправлення наведіть гігієну: видаліть info.php, оновіть WordPress і плагіни до останніх версій, налаштуйте автоматичні бекапи через UpdraftPlus або панель хостингу. Тоді наступний переїзд чи оновлення PHP пройдуть без сюрпризів.



