Ошибка, которая появляется неожиданно
Вы обновляете PHP.
Или переносите сайт на другой сервер.
Или разворачиваете новый VPS и устанавливаете WordPress с нуля.
Сначала всё выглядит нормально — пока вдруг что-то не идёт не так.
Вместо главной страницы вы внезапно видите сообщение:
Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
Это одно из тех сообщений, которое звучит просто… но на практике всё обычно гораздо сложнее.
В старых руководствах объяснение почти всегда одинаковое:
«Установите расширение MySQL».
На самом деле, особенно в современных окружениях (PHP 8.2, 8.3, 8.4), эта ошибка чаще всего почти не связана с отсутствием расширения. Гораздо чаще проблема кроется в том, как настроен PHP, как он загружается или как разделён между разными окружениями.
Иногда она появляется:
- сразу после обновления до PHP 8.3
- после перехода с Apache на Nginx
- во время пересборки Docker
- после миграции сервера
- когда CLI и FPM используют разные версии PHP
А иногда — даже после
Быстрая диагностика за 60 секунд
Прежде чем переустанавливать что-то или менять конфигурационные файлы, остановитесь на минуту. Когда появляется сообщение your php installation appears to be missing the mysql extension, первая реакция — сразу начать устанавливать пакеты. На практике это часто только усугубляет проблему.
Задача на самом деле простая: определить, действительно ли ошибка wordpress missing mysql extension вызвана отсутствием расширения, или же PHP загружает не то окружение, которое вы ожидаете.
В современных средах, особенно с PHP 8.2 или 8.3, проблема чаще связана с контекстом запуска, а не с отсутствием самого расширения.
1. Проверьте активную версию PHP
Начните с базового вопроса: какая версия PHP на самом деле запущена?
Если у вас есть доступ по SSH:
php -v
Эта команда покажет версию PHP для CLI. Это полезно, но не даёт полной картины. Ваш веб-сервер может использовать совершенно другую сборку PHP.
Чтобы проверить версию PHP, которая работает в веб-окружении, создайте временный файл info.php в корневой директории WordPress: <?php phpinfo(); Откройте его в браузере и проверьте: – версию PHP – путь к “Loaded Configuration File” – значение “Server API” (Apache, FPM/FastCGI и т. д.) Очень часто можно увидеть ситуацию, когда в CLI используется PHP 8.3, а в браузере отображается PHP 8.1. В таком случае ошибка “php missing mysql extension wordpress” может вообще не иметь отношения к MySQL — просто используется другой экземпляр PHP.
2. Убедитесь, что загружены MySQLi или PDO_MySQL
В выводе phpinfo() найдите:
mysqli
pdo_mysql
Если ни одно из этих расширений не отображается, значит PHP действительно не имеет поддержки MySQL, и сообщение your php installation appears to be missing the mysql extension в этом случае технически верное.
Если же они присутствуют, ситуация становится интереснее. WordPress всё равно может выдавать ошибку missing mysqli extension wordpress, даже если расширение установлено. Обычно это указывает не на проблему установки, а на несоответствие конфигурации.
Через SSH можно также выполнить:
php -m | grep -i mysql
Однако эта команда проверяет только модули CLI. Веб-сервер может использовать другой набор расширений.
3. Проверьте загруженный файл php.ini
На странице phpinfo() найдите строку:
Loaded Configuration File
Убедитесь, что указанный путь соответствует той версии PHP, которую действительно использует ваш веб-сервер.
Затем найдите параметр:
extension_dir
Если extension_dir указывает на неправильную директорию или на каталог другой версии PHP, расширения вроде mysqli или pdo_mysql могут существовать на диске, но не будут загружаться во время выполнения. В таких случаях fix mysql extension error wordpress не означает установку новых пакетов — нужно просто привести настройки PHP в соответствие с правильной директорией расширений.
На этом этапе обычно становится ясно, какой из трёх сценариев имеет место:
- расширение вообще не установлено
- расширение установлено, но не включено для активного окружения
- CLI и веб-версия PHP используют разные конфигурации
Только после того как вы определите, какой из этих вариантов относится к вашей системе, стоит переходить к решению. Иначе есть риск исправлять не ту проблему.
Почему эта ошибка вводит в заблуждение в современных версиях PHP
На первый взгляд сообщение your php installation appears to be missing the mysql extension звучит достаточно точно. Оно создаёт впечатление, что чего-то просто не хватает и установка нужного расширения решит проблему.
В 2026 году это предположение часто оказывается неверным.
Оригинальное расширение mysql уже много лет считается устаревшим и полностью удалено из современных версий PHP. WordPress больше его не использует. Вместо этого применяется mysqli или pdo_mysql — оба расширения входят в стандартные сборки PHP 8.x.
Поэтому когда сегодня WordPress показывает ошибку wordpress missing mysql extension, это редко означает, что поддержка MySQL не установлена. Чаще всего это говорит о том, что PHP не смог загрузить нужный модуль во время выполнения.
И это важное различие.
Читайте также: Как улучшить Time to First Byte (TTFB) на сайте WordPress

MySQL vs MySQLi: ловушка в названии
Сообщение об ошибке по-прежнему ссылается на «MySQL extension», из-за чего многие разработчики начинают искать неправильный пакет. Они пытаются установить mysql, которого уже не существует в PHP 8.2 или 8.3.
На самом деле WordPress требуется:
mysqli
или pdo_mysql
Если ни одно из этих расширений недоступно для активного окружения PHP, вы можете увидеть такие варианты ошибок, как missing mysqli extension wordpress или php missing mysql extension wordpress.
Проблема в том, что формулировка сообщения не менялась вместе с развитием PHP. Именно здесь и начинается путаница.
PHP 8.x и проблема контекста выполнения
Современные PHP-окружения редко бывают простыми.
У вас может быть:
- несколько установленных версий PHP
- отдельные пулы PHP-FPM
- контейнеризированные развёртывания
- собственные сборки PHP
- разные файлы php.ini для CLI и веб-сервера
В таких условиях fix mysql extension error wordpress — это не про установку модуля. Речь идёт о том, чтобы правильная среда выполнения PHP загружала нужное расширение из правильной директории.
Например:
- CLI может показывать, что mysqli загружен
- веб-окружение может его не видеть
- PHP-FPM может указывать на устаревший extension_dir
- при пересборке контейнера могло не установиться pdo_mysql
Все эти ситуации приводят к одному и тому же сообщению об ошибке.
Поэтому слепая установка пакетов редко является правильным первым шагом. Реальная проблема почти всегда связана с несоответствием конфигурации.
WordPress, PHP и база данных должны работать в одном и том же конфигурационном контексте. Когда один элемент меняется — особенно при обновлении PHP, например до версии 8.3 — система может тихо «сломаться», а WordPress просто покажет это обобщённое сообщение об ошибке.
Когда дело вовсе не в расширении
Есть ещё один нюанс, который легко упустить.
Иногда расширение загружается корректно, но WordPress всё равно не может подключиться к базе данных. В таких случаях сообщение об ошибке может появляться потому, что уровень работы с базой данных завершается с ошибкой на раннем этапе запуска системы.
Это может происходить, когда:
- указаны неверные учётные данные базы данных
- изменился путь к сокету MySQL
- MariaDB работает через TCP, а PHP ожидает Unix-сокет
- служба базы данных не запущена
- SELinux блокирует доступ
С точки зрения WordPress соединение с базой данных просто не устанавливается. И система делает «резервное» предположение — что отсутствует поддержка MySQL.
Другими словами, сообщение об ошибке не всегда указывает на реальную причину. Оно описывает лишь симптом.
Понимание этого контекста меняет подход к решению проблемы. Вместо переустановки расширений вы начинаете отслеживать цепочку выполнения.
И именно с этого начинается настоящая диагностика.
Читайте также: Как очистить кэш WordPress, если изменения не отображаются
Где происходит разрыв соединения
Когда WordPress выводит сообщение your php installation appears to be missing the mysql extension, это означает, что где-то в цепочке выполнения произошёл сбой. Самый понятный способ разобраться — посмотреть на эту цепочку напрямую.
В упрощённом виде она выглядит так:
WordPress Core
↓
Среда выполнения PHP (Web SAPI / PHP-FPM / Apache Module)
↓
Расширение MySQL (mysqli или pdo_mysql)
↓
Движок базы данных (MySQL 8 / MariaDB)
Если любой элемент этой цепочки работает неправильно или не совпадает с остальными, WordPress не сможет инициализировать уровень работы с базой данных. В результате может появиться ошибка wordpress missing mysql extension, даже если само расширение технически присутствует.
Рассмотрим, где чаще всего возникает проблема.
1. Расширение не установлено
Это самый простой сценарий. PHP был установлен без mysqli или pdo_mysql.
Такое может произойти, если:
- PHP собирался из исходников без mysqlnd
- используются минимальные контейнерные образы
- PHP устанавливался вручную на VPS без пакета MySQL
В этом случае команды php -m и phpinfo() не будут показывать mysqli или pdo_mysql. Тогда ошибка действительно соответствует реальной причине.
2. Расширение установлено, но не включено
В этом случае расширение существует на диске, но не загружается.
Распространённые причины:
- в php.ini отсутствует строка
extension=mysqli - расширение скомпилировано, но не активировано
- для CLI и веб-сервера используются разные файлы php.ini
- указан неправильный путь extension_dir
Именно к этому сценарию относится множество случаев php missing mysql extension wordpress. Разработчики видят файл mysqli.so в папке расширений и считают, что всё настроено правильно. Но при этом PHP-FPM просто не загружает его.
3. CLI и веб-версия PHP отличаются
Это одна из самых частых причин в современных конфигурациях.
Вы выполняете:
php -m | grep -i mysql
Команда показывает mysqli.
Кажется, что всё работает правильно.
Но веб-сервер может использовать совершенно другую версию PHP. И в ней поддержка MySQL может быть не включена.
В такой ситуации проблема не в отсутствии поддержки MySQL. Проблема — в различии сред выполнения.
Это особенно часто происходит после:
- обновления до PHP 8.3
- смены панели управления хостингом
- включения MultiPHP в cPanel
- миграции с Apache на Nginx
CLI и веб-окружение начинают использовать разные конфигурации, и это происходит незаметно.
4. Расширение загружается, но уровень работы с базой данных не работает
Это более тонкий случай.
mysqli отображается в phpinfo().
Версия PHP корректная.
Пути конфигурации выглядят правильно.
И всё же WordPress продолжает выдавать ошибки типа fix mysql extension error wordpress.
В этом случае проблема возникает ниже по цепочке:
- неверный путь к сокету
- неправильный хост в wp-config.php
- служба базы данных не запущена
- MariaDB была обновлена и изменила настройки по умолчанию
- проблемы с правами доступа к файлу сокета
С точки зрения WordPress соединение с базой данных прерывается во время начальной загрузки. Поэтому система предполагает, что проблема связана с уровнем расширения.
Технически это не так.
5. Контейнерные и облачные окружения
В Docker или облачных средах проблема может возникать ещё на этапе сборки.
Например:
- базовый образ не содержит pdo_mysql
- команда docker-php-ext-install mysqli pdo_mysql была пропущена
- при пересборке был обновлён слой PHP, но не конфигурация
- изменились переменные окружения, отвечающие за подключение к базе данных
В таких ситуациях ошибка wordpress missing mysql extension может появиться после, казалось бы, несвязанного обновления инфраструктуры.
Именно поэтому эту ошибку редко можно рассматривать изолированно. Почти всегда она зависит от контекста.
Когда вы понимаете всю цепочку, вы перестаёте воспринимать это как простую проблему установки. Вместо этого становится ясно, на каком уровне произошёл сбой.
Такой подход делает исправление проблемы последовательным и системным, а не реактивным.
Реальные причины ошибки MySQL Extension
К этому моменту вы, скорее всего, уже определили, где именно происходит разрыв в цепочке. Теперь возникает практический вопрос: что именно нужно исправить?
Ответ полностью зависит от вашей среды. Общий хостинг работает совсем иначе, чем собственный VPS или развёртывание в Docker. Внешне ошибка может выглядеть одинаково, но её настоящая причина может быть разной.
Рассмотрим самые распространённые сценарии.
Среда общего хостинга
На общем хостинге, особенно с cPanel или аналогичными панелями управления, проблема часто связана с переключением версии PHP.
Многие хостинг-провайдеры позволяют использовать несколько версий PHP одновременно. Вы можете выбрать PHP 8.3 в панели управления, но домен всё ещё может быть привязан к более старому обработчику.
Если вы видите wordpress missing mysql extension на общем хостинге, проверьте:
- какая версия PHP назначена для домена
- включены ли mysqli и pdo_mysql в списке PHP-расширений
- применяет ли MultiPHP Manager правильный обработчик
В cPanel обычно нужно:
- открыть Select PHP Version
- убедиться, что активна PHP 8.2 или 8.3
- проверить, что отмечены mysqli и mysqlnd
После сохранения обновите сайт. Если среда выполнения переключилась правильно, ошибка исчезнет сразу.
Если нет — возможно, домен всё ещё привязан к другому пулу PHP.
Именно здесь регулярное обслуживание сайтов на WordPress помогает предотвратить незаметные расхождения в конфигурации. Небольшие несовпадения версий легко пропустить, пока они не приведут к сбою на рабочем сайте.
VPS и выделенные серверы (Ubuntu / Debian)
В среде VPS проблема обычно проявляется более явно.
Если PHP был установлен без поддержки MySQL, это можно проверить так:
php -m | grep -i mysql
Если команда ничего не выводит, установите нужный модуль:
sudo apt update
sudo apt install php-mysql
После этого перезапустите соответствующий сервис:
sudo systemctl restart php8.3-fpm
Или, если используется Apache:
sudo systemctl restart apache2
Но здесь многие допускают распространённую ошибку.
Они перезапускают не ту версию PHP-FPM.
Если установлено несколько версий PHP, нужно перезапускать именно тот сервис, который использует ваш веб-сервер. Перезапуск php8.2-fpm, когда Nginx подключён к php8.3-fpm, ничего не изменит.
Одно только такое несоответствие может вызвать ошибки php missing mysql extension wordpress, даже если само расширение установлено.
Несоответствие Nginx и PHP-FPM
В современных конфигурациях, особенно после обновления PHP, в настройках иногда остаются ссылки на старые сокеты.
Например:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
Если система обновилась до PHP 8.3, но Nginx всё ещё указывает на сокет 8.1, WordPress будет работать через неправильную среду выполнения.
В таком случае происходит следующее:
- CLI показывает, что mysqli установлен
- PHP 8.3 поддерживает MySQL
- веб-сервер продолжает использовать PHP 8.1 без этой поддержки
Появляется ошибка, которая выглядит как отсутствие расширения.
На самом деле это просто проблема указания неправильного сокета в конфигурации.
Docker и контейнерные развёртывания
Контейнерные среды добавляют ещё один уровень сложности.
Если вы используете официальный образ PHP, расширения MySQL не всегда включены по умолчанию. Их нужно явно добавить на этапе сборки:
RUN docker-php-ext-install mysqli pdo pdo_mysql
Если эта строка была удалена, пропущена или переопределена во время пересборки контейнера, следующее развёртывание может внезапно вызвать сообщение your php installation appears to be missing the mysql extension.
Такое часто происходит после:
- обновления базового образа
- перехода с образов Debian на Alpine
- изменений в CI/CD pipeline
Расширение при этом никто вручную не удалял — контейнер просто был пересобран без него.
В сложных средах, где используются API-слои, SaaS-системы или интеграция ИИ в современные веб-платформы, такие побочные эффекты пересборки встречаются довольно часто. WordPress может быть лишь одним из компонентов более крупной архитектуры.
Multi-PHP установки
Эта тема заслуживает отдельного внимания.
На многих серверах одновременно используются:
/usr/bin/php
/usr/local/bin/php
несколько пулов FPM
отдельные пулы для каждого домена
Вы можете убедиться, что mysqli установлен глобально, но активный пул может использовать другой файл php.ini.
Именно здесь становится важен опыт профессиональной разработки сайтов на WordPress. Чтобы определить, какая именно среда выполнения PHP обрабатывает запрос, нужно анализировать конфигурацию пулов, а не просто проверять подключённые модули.
Когда конфигурации в системах с несколькими версиями PHP начинают расходиться, WordPress не пытается выяснять причину. Он просто сообщает об отсутствии расширения.
Во всех описанных сценариях прослеживается один и тот же паттерн. Проблема почти никогда не связана с необходимостью установить что-то новое. Речь идёт о том, чтобы правильная среда выполнения загружала нужное расширение в правильном конфигурационном контексте.
Чем сложнее инфраструктура, тем незаметнее может быть такое несоответствие.
Читайте также: 5 шагов для добавления 301 редиректа в WordPress через htaccess (полное практическое руководство)
Таблица диагностики: симптом → причина → решение
Ниже приведён практический справочник для наиболее распространённых вариантов ошибки your php installation appears to be missing the mysql extension.
| Симптом | Вероятная причина | Что проверить | Практическое решение |
|---|---|---|---|
php -m не показывает модули MySQL | Расширение MySQL не установлено | Список модулей CLI | Установить php-mysql или включить mysqli / pdo_mysql |
php -m показывает mysqli, но в браузере его нет | Несоответствие между CLI и веб-версией PHP | phpinfo() и версия CLI | Синхронизировать версию PHP-FPM с веб-сервером |
mysqli виден в phpinfo(), но WordPress не работает | Неверный extension_dir | extension_dir в php.ini | Указать правильный путь к директории и перезапустить FPM |
| Ошибка появилась после обновления PHP | Nginx или Apache указывает на старый сокет | Конфигурацию веб-сервера | Обновить fastcgi_pass или обработчик PHP |
| Ошибка появилась после миграции | Версия PHP была незаметно переключена | Панель хостинга / MultiPHP | Назначить правильную версию PHP для домена |
| Ошибка внутри Docker | Расширение не установлено при сборке | Dockerfile | Добавить docker-php-ext-install mysqli pdo_mysql и пересобрать контейнер |
| Соединение с базой данных всё ещё не работает | Несоответствие сокета или хоста | wp-config.php DB_HOST | Указать правильный TCP-хост или путь к сокету |
| Ошибка появляется случайно | Активно несколько пулов PHP | Конфигурации пулов FPM | Проверить активный пул и перезапустить нужную службу |
Эта таблица отражает наиболее частые причины, по которым возникает ошибка wordpress missing mysql extension в современных средах PHP 8.x.
Обратите внимание на одну важную деталь.
Более чем в половине этих случаев расширение технически уже установлено. Проблема носит контекстный характер — используется неправильная среда выполнения, неверный конфигурационный файл или перезапущена не та служба.
Именно поэтому слепая переустановка пакетов часто ничего не решает.
Если на этом этапе ни один из вариантов в таблице не подходит к вашей ситуации, стоит перейти от теории к реальному поведению системы.
Рассмотрим, как это обычно выглядит на практике.
Реальный случай: после обновления до PHP 8.3
Довольно типичная ситуация выглядит так.
Сервер работает на PHP 8.1 без каких-либо проблем.
Всё функционирует нормально.
Администратор обновляет систему до PHP 8.3.
Сразу после обновления WordPress начинает показывать сообщение:
your php installation appears to be missing the mysql extension
Первая мысль — что в PHP 8.3 убрали поддержку MySQL.
Но это не так.
Во многих подобных случаях происходит следующее:
- PHP 8.3 установлен корректно
- mysqli скомпилирован и доступен
- Nginx всё ещё указывает на старый сокет PHP 8.1
- PHP-FPM 8.3 так и не был перезапущен
С точки зрения WordPress соединение с базой данных не устанавливается на этапе начальной загрузки. Поэтому и появляется стандартное сообщение об ошибке.
В CoDiCo мы неоднократно наблюдали такую ситуацию при переходе между версиями PHP. Исправление редко требовало установки новых компонентов — почти всегда нужно было просто синхронизировать уровни среды выполнения после обновления.
Как только веб-сервер начинает указывать на правильный пул PHP-FPM и служба корректно перезапускается, ошибка исчезает мгновенно.
Неочевидные случаи, о которых легко забыть
Иногда всё на первый взгляд выглядит правильно. mysqli отображается в phpinfo(). Версия PHP соответствует той, которую должен использовать сервер. Данные подключения к базе в wp-config.php выглядят корректно. И всё же WordPress продолжает показывать сообщение your php installation appears to be missing the mysql extension.
В таких ситуациях проблема обычно находится глубже в стеке.
Одна из самых недооценённых причин — несоответствие сокета. Во многих системах Linux MySQL или MariaDB взаимодействуют через Unix-сокет, а не через TCP. Если путь к сокету меняется во время обновления, PHP может по-прежнему загружать mysqli, но не сможет установить соединение. В результате WordPress выводит стандартную ошибку wordpress missing mysql extension, хотя само расширение работает нормально.
Ещё одна тонкая проблема может возникнуть после обновления MariaDB. Методы аутентификации или параметры подключения по умолчанию могут незаметно измениться. Если PHP ожидает одну конфигурацию, а сервер базы данных требует другую, соединение прерывается на раннем этапе. С точки зрения приложения это выглядит как отсутствие поддержки MySQL, хотя на деле проблема связана с аутентификацией или способом соединения.
Также может вмешаться SELinux. В защищённых системах даже при включённом и корректно загруженном mysqli политики безопасности могут блокировать доступ PHP к сокету базы данных. Расширение присутствует, но среда выполнения не может им воспользоваться. Сообщение об ошибке выглядит вводящим в заблуждение, хотя технически оно соответствует сбою инициализации базы данных.
Отдельную категорию составляют кастомные сборки PHP. Если PHP был скомпилирован без mysqlnd или с несовместимой клиентской библиотекой, модуль может отображаться как установленный, но работать нестабильно. Такие случаи встречаются редко, но когда они возникают, стандартные шаги диагностики не помогают, потому что проблема находится на уровне сборки.
Контейнерная оркестрация добавляет ещё один уровень сложности. В распределённых средах хост базы данных, указанный в wp-config.php, может разрешаться иначе внутри контейнерной сети. Неправильно настроенное имя сервиса или переменная окружения может нарушить соединение, и WordPress снова покажет ошибку php missing mysql extension wordpress, даже если расширение корректно загружается внутри контейнера.
Общий паттерн во всех этих ситуациях одинаков. Видимое сообщение об ошибке редко указывает на настоящую причину. Оно лишь сигнализирует, что WordPress не смог инициализировать уровень работы с базой данных, а слой расширений — это первое предположение системы.
Когда диагностика доходит до этого уровня, решение уже не сводится к установке пакетов. Оно превращается в анализ цепочки выполнения, проверку согласованности конфигураций и подтверждение того, что все уровни системы взаимодействуют именно так, как задумано.
Хорошая новость в том, что после обнаружения реальной точки сбоя исправление обычно оказывается довольно простым. Основная сложность заключается не в самом исправлении, а в правильной диагностике уровня, на котором возникла проблема.
Далее мы соберём всё в единый чек-лист диагностики, чтобы вы могли последовательно проверить каждый уровень системы перед тем, как переходить к более глубокому анализу.
Читайте также: Простое и понятное руководство по редактированию файла functions.php в WordPress
Итоговый чек-лист диагностики
Если вы хотите решить проблему системно и без бесконечных случайных попыток исправления, используйте чек-лист ниже. Он рассчитан именно на ситуации, когда WordPress сообщает your php installation appears to be missing the mysql extension, но настоящая причина скрыта в конфигурации среды выполнения.
Проверьте версию PHP в браузере через phpinfo(), а не только через SSH. Если версии CLI и веб-окружения отличаются, значит вы анализируете разные среды выполнения.
В phpinfo() убедитесь, что отображается mysqli или pdo_mysql. Если ни одно из расширений не указано, значит поддержка MySQL действительно отсутствует.
Проверьте строку Loaded Configuration File. Убедитесь, что файл php.ini, который вы редактируете, действительно используется веб-окружением.
Найдите параметр extension_dir и убедитесь, что он соответствует активной сборке PHP. Неправильная директория может незаметно препятствовать загрузке модулей.
Если используется PHP-FPM, проверьте, какой пул и какой сокет использует ваш веб-сервер. После обновлений конфигурации Nginx или Apache часто продолжают указывать на старые сокеты.
Перезапустите правильную службу. Перезапуск «какого-то» PHP-FPM недостаточен, если установлено несколько версий. Перезапустить нужно именно ту, которая используется сервером.
Если расширение загружено, но ошибка остаётся, проверьте подключение к базе данных: статус службы, тип хоста (сокет или TCP), а также не изменился ли путь к сокету.
Проверьте параметр DB_HOST в wp-config.php. В контейнерных средах правильным значением часто является имя сервиса, а не localhost.
Если система использует SELinux или усиленные политики безопасности, убедитесь, что PHP имеет доступ к сокету базы данных или соответствующему сетевому порту.
После завершения проверки удалите файл info.php. Если оставить его публично доступным, это создаёт серьёзный риск безопасности.
Если вы прошли все пункты этого списка, а сайт всё ещё не работает, проблема уже не связана с «отсутствующим расширением». На этом этапе речь идёт о более глубокой проблеме инфраструктуры или согласованности сборки, а не об ошибке WordPress или простом обновлении.
FAQ
Почему WordPress сообщает, что отсутствует расширение MySQL, если MySQLi установлен?
Потому что формулировка сообщения устарела. WordPress использует mysqli или pdo_mysql, но если PHP не загружает их в активной среде выполнения или используется неправильный runtime, WordPress всё равно может показывать ошибку wordpress missing mysql extension.
Поддерживает ли PHP 8.3 MySQL?
Да. PHP 8.3 поддерживает MySQL через mysqli и pdo_mysql. Если появляется ошибка php missing mysql extension wordpress, чаще всего это связано с конфигурацией сервера или несоответствием среды выполнения, а не с отсутствием поддержки MySQL в PHP.
Как включить MySQLi в PHP?
В большинстве систем это делается установкой соответствующего пакета (обычно php-mysql) или включением модуля в панели управления хостингом. В Windows может потребоваться раскомментировать строку extension=mysqli в php.ini. Главное — убедиться, что расширение включено именно для той среды PHP, которую использует веб-сервер.
Почему команда php -m показывает mysqli, но WordPress всё равно не работает?
Потому что php -m проверяет только CLI-версию PHP. Веб-сервер может использовать другую версию PHP, другой php.ini или другой пул PHP-FPM. Это одна из самых частых причин ошибок fix mysql extension error wordpress.
Может ли эта ошибка возникать из-за неправильных данных подключения к базе?
Да. Если WordPress не может подключиться к базе данных на раннем этапе инициализации, сообщение может быть вводящим в заблуждение. Неверные данные, остановленная служба базы данных или несоответствие сокета могут вызвать похожие симптомы даже при загруженном mysqli.
Решается ли эта проблема обновлением WordPress?
Иногда — да, но в современных конфигурациях это происходит редко. В средах PHP 8.x ошибка чаще связана с настройками сервера, а не с устаревшими файлами ядра WordPress.
Заключение
В большинстве реальных случаев сообщение your php installation appears to be missing the mysql extension не связано ни с WordPress, ни с необходимостью переустанавливать PHP. Это сигнал о том, что один из уровней цепочки выполнения PHP работает несогласованно.
Как только вы определяете, какая именно среда выполнения обслуживает запрос, и убеждаетесь, что mysqli или pdo_mysql загружены именно в ней, решение обычно оказывается простым.
В CoDiCo самый быстрый результат почти всегда достигается за счёт проверки согласованности среды выполнения, а не установки дополнительных пакетов.


