
🔧 Ошибка «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 пройдут без сюрпризов.



