Что делать, когда сервер настроен, база данных работает, но при открытии сайта WordPress появляется сообщение «Похоже, в вашей конфигурации PHP отсутствует расширение MySQL, необходимое для работы WordPress.»
Чаще всего такая проблема возникает при загрузки старой версии WordPress на сервер с PHP7, в котором отсутствует расширение для доступа к базе данных mysql, а вместо него используется mysqli.
Решить такую проблему можно двумя способами. Первый предполагает изменение кода WordPress и не рекомендуется, если вы не понимаете, что меняете и что с этим делать.
Вкратце, идея состоит в том, чтобы WordPress загружал нужное расширение. Для этого откройте файл includes/load.php
и найдите следующую строчку:
if ( ! extension_loaded( 'mysql' ) && ! extension_loaded( 'mysqli' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
Удалите проверку на загрузку расширения mysql, чтобы получилось следующее:
if ( ! extension_loaded( 'mysqli' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
Второй способ гораздо более радикальный, но, в то же время, и более правильный. Для исправления ошибки достаточно обновить WordPress вручную. Перед выполнением этой операции обязательно сделайте резервную копию вашего сайта!
Для обновления WordPress вручную выполните следующие действия:
- Удалите на вашем сайте папки
wp-admin
иwp-includes
. - Скачайте последнюю версию системы с сайта WordPress.
- Загрузите папки
wp-admin
иwp-includes
из дистрибутива на сервер. - Загрузите папку
wp-content
на сервер с заменой файлов на новые. Не удаляйте папку wp-content с вашего сайта! - Загрузите все файлы из корня дистрибутива на сервер с заменой.
- Зайдите на страницу /wp-admin вашего сайта, чтобы обновить структуру базы данных.
в моем случае нужно было еще внести вправки в /wp-includes/wp-db.php изменив mysql_connect на mysqli_connect
Это неправильно. Нельзя вмешиваться в движок. После следующего обновления нужно будет проделывать тоже самое.