Как исправить ошибку: «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress»
Опубликовано: 2022-11-01Сообщение об ошибке «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress» может сбить с толку как новичков в WordPress, так и опытных пользователей. Хотя может показаться, что все, что вам нужно сделать, это установить отсутствующее расширение WordPress MySQL, установка и настройка PHP на стороне сервера намного сложнее. Более того, для PHP доступно довольно много различных драйверов баз данных, каждый из которых служит одной и той же цели.
В этом подробном руководстве по исправлению ошибки «В вашей установке PHP отсутствует расширение MySQL, необходимое для WordPress» вы узнаете, как WordPress взаимодействует со своей базой данных и как убедиться, что в вашей установке PHP установлено правильное расширение MySQL. .
Как WordPress взаимодействует со своей базой данных?
Ваш веб-сайт WordPress — это динамическое веб-приложение, управляемое базой данных. По сути, это означает две вещи: подавляющее большинство всего контента веб-сайта хранится в базе данных WordPress, и WordPress полностью полагается на способность взаимодействовать со своей базой данных для правильной работы. Каждый раз, когда вы загружаете любую страницу на своем веб-сайте, WordPress выполняет ряд манипуляций за кулисами.
Поскольку все сообщения, страницы и другая ключевая информация хранятся в базе данных, а не в файлах на сервере, которые мы видели бы на статическом веб-сайте. WordPress PHP необходимо получить запрошенный контент, отправив SQL-запросы, и объединить его с файлами шаблона, чтобы создать HTML-страницу, которая будет отправлена посетителю веб-сайта. Другими словами, WordPress анализирует адрес, который вы открываете в браузере, чтобы сформировать набор параметров запроса, который затем будет использоваться для запроса к базе данных.
Итак, какова роль PHP в этом процессе? Установка WordPress или ядро WordPress — это набор PHP-скриптов, которые вместе создают динамический веб-сайт. PHP как язык программирования становится центральным элементом архитектуры WordPress, а это означает, что ваша установка PHP должна быть правильно настроена для взаимодействия с базой данных WordPress. Одним из ключевых аспектов этого является установка и включение необходимых расширений PHP.
Расширения PHP MySQL для WordPress
PHP использует специальное расширение или драйвер базы данных, чтобы WordPress мог установить соединение со своей базой данных, используя учетные данные, указанные в файле wp-config.php. Но что это за расширение? Возможно, вы видели разные его версии: mysql, mysqli, mysqlnd, pdo_mysql, libmysql и даже другие. Легко запутаться, поэтому давайте разберемся с этим раз и навсегда.
Начиная с версии 5.3, PHP использует собственный драйвер MySQL для связи с сервером базы данных. Собственный драйвер MySQL также может называться mysqlnd и является заменой клиентской библиотеки MySQL (libmysql), распространяемой MySQL. Три расширения MySQL — mysql, mysqli и pdo_mysql — скомпилированы для использования собственного драйвера MySQL и широко используются с веб-сайтами, построенными на PHP.
PHP устарел от расширения mysql в версии 5.5 и удалил его поддержку в PHP 7+ в пользу mysqli. Следуя этому решению, WordPress использует расширение mysqli из версии 3.9. Поскольку pdo_mysql не поддерживается WordPress, драйвер базы данных, указанный в сообщении об ошибке «Похоже, что в вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress», является расширением mysqli PHP.
Что означает ошибка «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress»?
Ошибка «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress» означает, что версия PHP, используемая вашим веб-сайтом WordPress, не имеет установленного или неправильно настроенного расширения mysqli. Это приводит к тому, что WordPress не может взаимодействовать со своей базой данных, что, в свою очередь, приводит к появлению этого варианта сообщения об ошибке подключения к базе данных WordPress на вашем веб-сайте.
Ошибки подключения к базе данных WordPress
WordPress может отображать ошибки подключения к базе данных по разным причинам. Сообщение об ошибке, которое WordPress выбирает для отображения, зависит от того, на каком этапе возникли проблемы при попытке подключения. Важно понимать разницу между двумя основными ошибками, связанными с невозможностью взаимодействия с базой данных WordPress.
На вашем веб-сайте появится сообщение «Ошибка установления соединения с базой данных», если информация о базе данных в файле wp-config.php неверна, пользователь вашей базы данных не имеет достаточных привилегий, ваша база данных повреждена или ваш сервер MySQL/MariaDB отклонен. связь. В этом случае WordPress может использовать расширение mysqli, но на более позднем этапе сталкивается с определенными проблемами.
Если вы видите сообщение об ошибке «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress» на вашем веб-сайте, расширение PHP mysqli либо не установлено, либо не загружено вашей установкой PHP. Драйвер базы данных гарантирует, что WordPress может использовать свой глобальный класс wpdb(), что является первым шагом в установлении соединения с базой данных.
3 основные причины ошибки отсутствия расширения MySQL для WordPress
Когда вы устанавливаете WordPress в первый раз или перемещаете свой веб-сайт WordPress на новую инфраструктуру хостинга, вам необходимо убедиться, что все службы настроены правильно. Он включает ваш веб-сервер, который будет принимать запросы HTTP, ваш обработчик PHP, который будет контролировать выполнение кода PHP, и вашу базу данных MySQL/MariaDB, которая будет принимать и обрабатывать запросы к базе данных.
Современные панели управления веб-хостингом позволяют вам одновременно установить на сервер несколько версий PHP. Это не относится к традиционному подходу к установке PHP, когда для того, чтобы использовать новую версию PHP, нужно полностью удалить предыдущую. Вы также можете установить все необходимые расширения PHP из графического пользовательского интерфейса без необходимости делать это из командной строки.
Вы можете выбрать версию PHP, которую хотите использовать для своего веб-сайта WordPress, и даже обработчик PHP, если вы подписались на VPS или выделенный хостинг. Эта свобода одновременно упрощает процесс запуска веб-сайта и значительно усложняет его для тех, кто не знаком с тем, как PHP работает на стороне сервера.
Ниже мы рассмотрим распространенные ситуации, которые приводят к тому, что PHP не может связаться с вашим сервером MySQL/MariaDB. Вот три основные причины сообщения об ошибке «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress» на вашем веб-сайте:
- Расширение PHP mysqli отсутствует в версии PHP, используемой вашим веб-сайтом.
- Расширение PHP mysqli настроено неправильно.
- Вы используете устаревшую версию WordPress с PHP 7+.
Причина 1: расширение PHP mysqli отсутствует в версии PHP, используемой вашим веб-сайтом.
Возможно, что расширение mysqli вообще не установлено, особенно если вы только что сделали доступной новую версию PHP. Если WordPress не может использовать расширение mysqli, он попытается использовать старое расширение mysql в версиях PHP ниже 7.0. Ключевым моментом является установка и настройка собственного драйвера MySQL для выбранной версии PHP.
Как обратиться
Установите собственный драйвер MySQL из панели управления веб-хостингом или с помощью интерфейса командной строки, чтобы включить расширение mysqli для WordPress. Для PHP 8.1 пакет будет называться php81-php-mysqlnd или ea-php81-php-mysqlnd.x86_64, если вы используете cPanel.
На сервере CentOS без панели управления запустите yum install php81-php-mysqlnd из интерфейса командной строки. Для серверов Ubuntu вы можете установить mysqlnd. Система автоматически включит поддержку как mysqli, так и pdo_mysql.
Причина 2: расширение PHP mysqli настроено неправильно
После установки необходимого PHP MySQL Native Driver, mysqli и pdo_mysql должны быть включены и доступны для использования WordPress. Чтобы расширение загружалось с используемой вами версией PHP, в глобальном каталоге конфигурации PHP создается специальный файл PHP. Если по какой-то причине расширение mysqli не может быть загружено для выбранной версии PHP, WordPress отобразит сообщение об ошибке «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress».
Как обратиться
Убедитесь, что встроенный драйвер MySQL, или mysqlnd, установлен правильно, и PHP добавил файлы .ini для mysqlnd и mysqli. На серверах cPanel вы можете найти файлы конфигурации 30-mysqli.ini и 20-mysqlnd.ini в каталоге /opt/cpanel/ea-php81/root/etc/php.d, где PHP 8.1 — это версия PHP, используемая ваш сайт WordPress. Файлы должны содержать приведенные ниже строки, чтобы расширения загружались правильно.
Причина 3: вы используете устаревшую версию WordPress с PHP 7+
Маловероятно, но вы все еще можете использовать очень устаревшую версию WordPress с более новыми версиями PHP. Использование устаревших версий программного обеспечения не только увеличивает вероятность возникновения различных проблем с WordPress, но и открывает практически неограниченные возможности для хакеров получить доступ к вашему сайту и выполнить вредоносные действия.
Как обратиться
Возьмите за привычку обновлять все программное обеспечение, которое вы используете, до последней версии. Обновите WordPress, активную тему и все плагины. Всегда используйте последнюю версию PHP, чтобы избежать проблем, связанных с несовместимостью кода и неисправленными уязвимостями безопасности.
Поскольку у вас нет доступа к панели администратора WordPress, используйте интерфейс командной строки WordPress для выполнения всех обновлений. Вы можете использовать следующие команды:
- Обновление ядра wp. Обновите ядро WordPress.
- Обновление плагина wp <имя плагина>. Обновите определенный плагин или используйте флаг — all , чтобы обновить сразу все плагины.
- обновление темы wp <имя активной темы>. Обновите активную тему.
Если WordPress показывает вам сообщение об ошибке, связанное с отсутствием расширения MySQL, это признак более серьезного отношения к вашему веб-сайту WordPress. Используйте активный подход к управлению всеми его аспектами, особенно когда речь идет о безопасности. iThemes Security Pro и BackupBuddy, ведущие в отрасли решения для безопасности и защиты данных WordPress, могут сделать этот процесс простым и без головной боли.
Использование iThemes Security Pro похоже на эксперта по безопасности в вашей команде, который будет круглосуточно и без выходных контролировать ваш веб-сайт WordPress, что позволит вам сосредоточиться на развитии своего бизнеса. Защищая более миллиона сайтов WordPress по всему миру, BackupBuddy автоматически создает резервную копию вашего сайта через регулярные промежутки времени, чтобы хранить его копию в безопасном месте для восстановления одним щелчком мыши, когда вам это нужно. Таким образом, вы сможете легко восстановиться после всех ошибок WordPress и заражений вредоносным ПО, но помните: предотвращение атак всегда лучше, чем устранение последствий.
Функция сканирования сайта проверяет важные области вашего веб-сайта и автоматически применяет исправления, чтобы на вашем веб-сайте не было устаревших плагинов и тем, которые подвергают его большому риску. С помощью iThemes Security Site Scan вы можете значительно уменьшить поверхность атаки и защитить свой веб-сайт от сетевых атак всех видов.
iThemes Security Version Management позволяет настраивать автоматические обновления для ядра WordPress, плагинов и тем, чтобы использовать новые функции и оставаться защищенными от известных уязвимостей.
Поддержание WordPress в актуальном состоянии чрезвычайно важно и может сэкономить массу времени при решении различных проблем WordPress, вызванных устаревшим программным обеспечением.
Другие причины
Как и любая другая проблема с WordPress, ошибка «Похоже, что в вашей установке PHP отсутствует расширение MySQL, необходимое для WordPress» может отображаться на вашем веб-сайте по целому ряду причин, выходящих за рамки того, что мы описали выше. Однако в большинстве случаев они связаны с неправильной настройкой обработчиков PHP или с использованием операционной системы CloudLinux, которая имеет собственный способ настройки PHP на стороне сервера.
PHP-селектор CloudLinux
Используя Cloudlinux, вы можете использовать CageFS, надежное решение для полной изоляции пользователей, которое предотвращает атаки по символическим ссылкам между учетными записями и защищает ваши веб-сайты. Если вы используете CageFS, вам необходимо использовать CloudLinux PHP Selector, который часто создает дополнительные сложности для пользователей cPanel, которые обычно управляют PHP на стороне сервера из MultiPHP Manager. Обратитесь к руководству CloudLinux по использованию PHP Selector с cPanel или обратитесь за помощью к вашему хостинг-провайдеру.
Как исправить ошибку «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress»
Чтобы исправить ошибку «Похоже, что в вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress», вам необходимо убедиться, что в вашей установке PHP установлены и правильно настроены драйвер базы данных MySQL (mysqlnd) и расширение mysqli. Только после этого вы сможете восстановить нормальное соединение между WordPress и базой данных WordPress, и ваш сайт снова заработает.
Выполните следующие действия, чтобы исправить ошибку отсутствия расширения WordPress MySQL:
- Создайте информационную страницу PHP, чтобы просмотреть конфигурацию PHP.
- Убедитесь, что расширение mysqli установлено и настроено правильно.
- Восстановите способность WordPress подключаться к своей базе данных и предотвратите будущие ошибки.
Шаг 1. Создайте информационную страницу PHP для просмотра конфигурации PHP.
Самый простой способ проверить конфигурацию установки PHP — создать информационную страницу PHP. Создайте файл с именем phpinfo.php в корневом каталоге документов вашего веб-сайта WordPress и вставьте в него следующий код:
<?php
phpinfo( );
?>
В качестве альтернативы выполните следующее, если вы вошли на свой веб-сайт через SSH. Он создаст файл phpinfo.php и настроит его разрешения.
echo "<?php phpinfo(); ?>" > phpinfo.php ; chown $(stat -c %U .). phpinfo.php
Откройте только что созданную страницу phpinfo.php в браузере, набрав yourwebsite.com/phpinfo.php в адресной строке. Замените yourwebsite.com на фактическое доменное имя вашего сайта WordPress. Даже если контент не загружается из-за ошибки отсутствия расширения MySQL, у вас не возникнет проблем с открытием информационной страницы PHP.
Вы должны увидеть страницу, похожую на приведенную ниже, которая будет содержать всю конфигурацию для версии PHP, которую вы используете для своего веб-сайта WordPress. В данном случае это PHP 8.1. Наличие информационной страницы PHP полезно для устранения различных ошибок WordPress, включая сообщение «На вашем веб-сайте произошла критическая ошибка» в WordPress.
Вверху страницы вы увидите версию PHP, используемую вашим сайтом WordPress. Вот некоторые из наиболее важных аспектов вашей установки PHP, которые вы должны проверить в первую очередь:
- Обработчик PHP. Обработчик PHP, используемый вашим веб-сайтом, будет отображаться как API сервера. На скриншоте выше это FPM/FastCGI.
- Загруженный файл конфигурации. Основной файл конфигурации, загруженный для используемой версии PHP.
- Проанализированы дополнительные файлы .ini. Этот список будет содержать все другие загруженные файлы конфигурации PHP, в том числе загружающие собственный драйвер MySQL (20-mysqlnd.ini) и расширение mysqli (30-mysqli.ini).
Убедитесь, что список дополнительных проанализированных файлов .ini содержит необходимые файлы 20-mysqlnd.ini и 30-mysqli.ini, которые обеспечивают правильную загрузку требуемого расширения PHP WordPress MySQL mysqli и его использование на вашем веб-сайте.
Шаг 2. Убедитесь, что расширение mysqli установлено и правильно настроено
Прокрутите вниз информационную страницу PHP или воспользуйтесь опцией поиска в браузере, чтобы просмотреть ее разделы mysqli и mysqlnd. Они должны идти друг за другом.
Обратите внимание, что расширение mysqli скомпилировано для использования встроенного драйвера MySQL, поскольку версия клиентской библиотеки API показывает нам mysqlnd. Информация о расширении PHP показывает нам некоторые дополнительные сведения, включая порт MySQL/MariaDB.
Проверьте, какие расширения API перечислены в разделе mysqlnd файла информации PHP. На скриншоте выше у нас включены и mysqli, и pdo_mysql.
Шаг 3. Восстановите возможность подключения WordPress к своей базе данных
Информационная страница PHP покажет вам, установлено ли и настроено ли в версии PHP, которую вы используете для своего веб-сайта WordPress, расширение mysqli. Если он отсутствует, установите его из интерфейса управления PHP, предоставляемого панелью управления веб-хостингом, или с помощью интерфейса командной строки.
Проверьте указанные файлы 20-mysqlnd.ini и 30-mysqli.ini, чтобы убедиться, что они правильно загружают расширение. Если вы используете устаревшую версию WordPress, обновите установку, а также все плагины и темы.
Шаги, описанные в этом руководстве, должны помочь вам восстановить функциональность вашего веб-сайта WordPress в подавляющем большинстве случаев. Однако, как мы упоминали, могут быть и другие проблемы, в том числе неправильные настройки обработчика PHP, которые могут привести к появлению сообщения об ошибке «В вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress» на вашем веб-сайте. Лучше всего обратиться в службу поддержки веб-хостинга для получения дополнительной помощи, если неясно, в чем причина проблемы.
Подведение итогов
Ошибка отсутствия расширения WordPress MySQL — одна из проблем WordPress, связанная с его способностью взаимодействовать со своей базой данных. Это указывает на то, что необходимое расширение PHP mysqli либо отсутствует, либо настроено неправильно, что приводит к тому, что PHP не может отправлять SQL-запросы в вашу базу данных WordPress. Начиная с PHP 7.0, старое расширение mysql было удалено в пользу mysqli, нового расширения WordPress MySQL, скомпилированного для использования встроенного драйвера MySQL.
Как и любая другая критическая ошибка WordPress, появление ошибки «Похоже, что в вашей установке PHP отсутствует расширение MySQL, которое требуется для WordPress», означает, что вам необходимо пересмотреть конфигурацию WordPress и убедиться, что применяются лучшие методы безопасности.
Проактивный подход к администрированию и безопасности веб-сайта WordPress поможет вам предотвратить большинство ошибок и значительно уменьшить поверхность атаки. Настройте мониторинг, автоматические обновления программного обеспечения и регулярное резервное копирование, чтобы ваш веб-сайт был защищен от уязвимостей в системе безопасности и сетевых атак. Пусть iThemes Security Pro и BackupBuddy станут вашей командой экспертов по безопасности и восстановлению данных, которые позаботятся о том, чтобы ваш веб-сайт никогда не отключился.
Лучший плагин безопасности WordPress для защиты и защиты WordPress
В настоящее время WordPress поддерживает более 40% всех веб-сайтов, поэтому он стал легкой мишенью для хакеров со злым умыслом. Плагин iThemes Security Pro устраняет сомнения в безопасности WordPress, чтобы упростить защиту вашего веб-сайта WordPress. Это похоже на штатного эксперта по безопасности, который постоянно отслеживает и защищает ваш сайт WordPress для вас.
Кики имеет степень бакалавра в области управления информационными системами и более двух лет опыта работы с Linux и WordPress. В настоящее время она работает специалистом по безопасности в Liquid Web и Nexcess. До этого Кики была частью группы поддержки Liquid Web Managed Hosting, где она помогла сотням владельцев веб-сайтов WordPress и узнала, с какими техническими проблемами они часто сталкиваются. Ее страсть к писательству позволяет ей делиться своими знаниями и опытом, чтобы помогать людям. Помимо технологий, Кики любит узнавать о космосе и слушать подкасты о реальных преступлениях.