After spending some time in setting up a local sever in mac os, installing php5, and finally installing mysql I am still running on problems when trying to perform an drupal install.
When going to install.php the page shows the following
PHP extensions Disabled
Drupal requires you to enable the PHP extensions in the following list (see the system
requirements page for more information):
gd
And;
Database support Disabled.
Your web server does not appear to support any common PDO database extensions. Check with
your hosting provider to see if they support PDO (PHP Data Objects) and offer any databases
that Drupal supports.
Any ideas on how to proceed with the installation?
More information:
php5 and php5-gd were installed via macports. mysql was installed via homebrew.
![]()
hakre
189k51 gold badges425 silver badges823 bronze badges
asked Mar 27, 2012 at 5:46
2
You need two more packages to pass through this error message:
php5-gd and php5-mysql.
So just install it and you’ll not get any error.
Note: You can replace php5-mysql to other package based on the database you are using.
For example:
php5-sqlite for sqlite
php5-pgsql for postgres
php5-adodb for ADOdb database
answered Jan 27, 2014 at 8:24
![]()
1
I ran into this issue as well when trying to manually setup drupal, apache, mysql and php on windows, even after uncommenting extension=php_gd2.dll, extension=php_mbstring.dll and extension=php_pdo_mysql.dll from the Dynamic Extensions section
In order to fix this, I had to change the extension_dir in my php.ini to explicitly state the folder path of the extensions:
From:
extension_dir = "./ext"
To:
extension_dir = "C:/php/php-5.3.28-Win32-VC9-x86/ext"
answered Apr 11, 2014 at 21:16
![]()
enducatenducat
1,6463 gold badges17 silver badges16 bronze badges
1
Looks like your build of php5 doesn’t enable gd and pdo-mysql as default, so what you need to do is re-configure your php5 with two extra config:
--with-pdo-mysql=mysqlnd
--with-gd
and then ‘make&&sudo make install’
answered Mar 27, 2012 at 6:00
5
Error:PHP extensions disabled: gd
Install php-gd package. Post installing if the error persists, un-comment the following line in /etc/php/php.ini
extension=gd.so
Worked for me!
αƞjiβ
2,99813 gold badges58 silver badges94 bronze badges
answered Jan 22, 2016 at 3:18
In php.ini I added
extension_dir = «C:xamppphpext»
And uncommented
extension=pdo_mysql
extension=gd2
answered Nov 15, 2020 at 15:37
![]()
After spending some time in setting up a local sever in mac os, installing php5, and finally installing mysql I am still running on problems when trying to perform an drupal install.
When going to install.php the page shows the following
PHP extensions Disabled
Drupal requires you to enable the PHP extensions in the following list (see the system
requirements page for more information):
gd
And;
Database support Disabled.
Your web server does not appear to support any common PDO database extensions. Check with
your hosting provider to see if they support PDO (PHP Data Objects) and offer any databases
that Drupal supports.
Any ideas on how to proceed with the installation?
More information:
php5 and php5-gd were installed via macports. mysql was installed via homebrew.
![]()
hakre
189k51 gold badges425 silver badges823 bronze badges
asked Mar 27, 2012 at 5:46
2
You need two more packages to pass through this error message:
php5-gd and php5-mysql.
So just install it and you’ll not get any error.
Note: You can replace php5-mysql to other package based on the database you are using.
For example:
php5-sqlite for sqlite
php5-pgsql for postgres
php5-adodb for ADOdb database
answered Jan 27, 2014 at 8:24
![]()
1
I ran into this issue as well when trying to manually setup drupal, apache, mysql and php on windows, even after uncommenting extension=php_gd2.dll, extension=php_mbstring.dll and extension=php_pdo_mysql.dll from the Dynamic Extensions section
In order to fix this, I had to change the extension_dir in my php.ini to explicitly state the folder path of the extensions:
From:
extension_dir = "./ext"
To:
extension_dir = "C:/php/php-5.3.28-Win32-VC9-x86/ext"
answered Apr 11, 2014 at 21:16
![]()
enducatenducat
1,6463 gold badges17 silver badges16 bronze badges
1
Looks like your build of php5 doesn’t enable gd and pdo-mysql as default, so what you need to do is re-configure your php5 with two extra config:
--with-pdo-mysql=mysqlnd
--with-gd
and then ‘make&&sudo make install’
answered Mar 27, 2012 at 6:00
5
Error:PHP extensions disabled: gd
Install php-gd package. Post installing if the error persists, un-comment the following line in /etc/php/php.ini
extension=gd.so
Worked for me!
αƞjiβ
2,99813 gold badges58 silver badges94 bronze badges
answered Jan 22, 2016 at 3:18
In php.ini I added
extension_dir = «C:xamppphpext»
And uncommented
extension=pdo_mysql
extension=gd2
answered Nov 15, 2020 at 15:37
![]()
Каталог статей
- Отображение ошибки
- Решение
- метод первый
- Метод второй
- задача решена
Отображение ошибки

Решение
метод первый
Присоединяйтесь при компиляции и установке php--with-mysqliПараметр, без этого параметра невозможно подключиться к базе данных
Это мои собственные параметры компиляции, как показано ниже
./configure
--prefix=/application/php5.6.36
--with-mysql=/application/mysql/
--with-pdo-mysql=mysqlnd
--with-iconv-dir=/usr/local/libiconv
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-mysqli ## Невозможно подключиться к базе данных без этого элемента
--with-libxml-dir=/usr
--enable-xml
--disable-rpath
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-inline-optimization
--with-curl
--enable-mbregex
--enable-fpm
--enable-mbstring
--with-mcrypt
--with-gd
--enable-gd-native-ttf
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-xmlrpc
--enable-soap
--enable-short-tags
--enable-static
--with-xsl
--with-fpm-user=nginx
--with-fpm-group=nginx
--enable-ftp
--enable-opcache=no
Метод второй
Проблема зависимости установки, используйтеyumУстановить
yum install -y php-mysql.x86_64
После установки перезапустите службы MySQL и httpd / nginx
задача решена

Чтобы узнать, почему не работает соединение или запрос, надо настроить РНР так чтобы он отображал ошибки, а mydsqli — чтобы оно бросало исключения.
То есть код должен выглядеть вот так
<?php
// видеть все ошибки!
ini_set('display_errors',1);
error_reporting(E_ALL);
// подключаем настройки
require_once 'connect.php';
// включаем режим информирования об ошибках
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database);
// не забываем установить кодировку, чтобы не было ошибок с кракозябрами
$mysqli->set_charset('utf8mb4');
// выполняем операции с базой данных
$query ="SELECT * FROM foo";
$result = mysqli_query($link, $query);
// дальше делаем что нужно
// и кстати, в большинстве случаев закрывать подключение не надо
ЗЫ. На боевом сервере ошибки на экран выводить конечно не стоит, а их надо писать в лог (собственно, именно поэтому все эти die — это ужас). И на боевом сервере display_errors надо отключать, а log_errors наоборот — подключать.
Если совсем не можешь найти, где у сервера висит лог ошибок, можешь задать свой собственный, с помощью функции ini_set('error_log','/путь/к/файлу');. Но только размещать его надо разумеется в папке недоступной пользователям сайта
Если же говорить о конкретно этой проблеме, то это очень забавная ошибка, в которой смешалась куча старого карго культ кода, который и сам по себе использовать не стоит, и вдобавок он здесь написан неправильно.
Если разобраться, то код or die("Ошибка1 " . mysqli_error($link)); очень смешной (это не к тебе претензия, никто не ожидает от тебя понимания таких тонкостей, которые не то что новички, а половина здешних «кураторов» не понимают).
Что тут происходит?
слово or die (которое на самом деле вообще нельзя никогда писать) пишут тогда, когда ожидают что в переменной $link будет значение false. Но если в $link будет false, то тогда её бессмысленно подставлять в mysqli_error. Именно поэтому для получения ошибки соединения в мускули есть отдельная специальная функция.
Но как я говорил выше, применять её не следует, как и or die.
В статье рассказывается:
- Суть и причины возникновения ошибки установки соединения с базой данных
- Первые шаги устранения ошибки установки соединения
- 3 способа устранения ошибки установки соединения с БД
- Дополнительные методы устранения ошибки установки соединения с БД
- Профилактика возникновения ошибки установки соединения с базой данных
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Ошибка установки соединения с базой данных — довольно частое явление на WordPress, которое может быть вызвано различными причинами. При первом появлении она может добавить седых волос владельцу сайта, ведь доступ к ресурсу будет невозможен, включая и его «админку», и при недостатке знаний ставит в тупик.
Не стоит паниковать и сильно переживать, ошибка установки соединения может быть исправлена относительно простыми методами. В нашей статье мы расскажем, почему возникает данная неисправность, как можно ее устранить, и что делать, чтобы снизить риск ее повторного появления.
Суть и причины возникновения ошибки установки соединения с базой данных
Чтобы понять, что означает “Ошибка установки соединения с базой данных” (Error establishing a database connection) разберемся, как работает WordPress и выясним, что такое база данных.
WordPress – одна из самых популярных CMS – систем., т.е. систем управления контентом. Это программное обеспечение, позволяющее добавлять, удалять и редактировать содержание вашего сайта без знаний языков программирования. Вся информация о контенте хранится в базе данных.
База данных — это и есть совокупность информации, организованная так, чтобы при необходимости компьютер смог ее найти и обработать. Все сведения о вашем WordPress сайте хранится в базе данных на серверах вашего хостинг- провайдера. Любое действие на сайте приводит кому, что WordPress посылает запрос на нужную информацию в базу данных. Если запрос успешно обработан, то пользователь получает нужную информацию.

Одним из наиболее важных файлов в WordPress является wp-config.php файл. Он находится в корневой директории и содержит сведения о конфигурации вашего сайта, в том числе и информацию о подключении к базе данных. Важно, чтобы эта информация была прописана в строго определенном порядке:
- Database Name — Имя базы данных
- Database Username — Имя пользователя базы данных
- Database Password — Пароль пользователя базы данных
- Database Host — Сервер базы данных
Таким образом, в большинстве случаев “Ошибка установки соединения с базой данных” возникает, если информация, описанная выше, указана не верно. Кроме того, ошибка может быть вызвана повреждением базы данных или перегруженностью сервера.
Первые шаги устранения ошибки установки соединения
Рассмотрим основные причины ошибки установки соединения с базой данных и способы их устранения.
Скачать файл
Прежде всего, настоятельно рекомендуем создать резервную копию всей важной информации и обновлять ее после каждого значимого изменения. Тогда вы гарантированно не потеряете данные. А в случае серьезной ошибки и восстановления базы данных, не столкнетесь с необходимостью создания сайта с нуля. Для создания резервной копии используются плагины Duplicator или All-in-One WP Migration.
Есть много программных модулей для резервного копирования, но они не смогут вам помочь при отсутствии доступа в админку.
В такой ситуации нужен плагин ISPmanager или другой модуль, который поможет, управляя хостингом, сделать полное резервное копирование сайта.

При возникновении сложностей стоит воспользоваться технической поддержкой, которая есть на всех платных хостингах. Здесь вам окажут квалифицированную помощь с созданием резервной копии.
3 способа устранения ошибки установки соединения с БД
Проверка памяти сервера
Предположим, вы проверили учетные данные в фале wp-config.php и убедились в их корректности. Следующим шагом следует проверить сервер на наличие памяти. Довольно часто ошибка соединения возникает из-за перегруженности сервера. Если сервер хостинг-провайдера испытывает трудности, то и ваш сайт WordPress будет замедляться.
В первую очередь удостоверимся, что MySQL работает, и памяти для обработки данных WordPress достаточно.
Подключитесь к удаленному серверу через SSH, используя IP-адрес сервера:
ssh 8host@ <server IP>
Затем убедимся, работает ли MySQL с помощью утилиты netstat. Она позволяет отслеживать проблемы, связанные с производительностью сети. Чтобы увидеть список TCP-портов, которые прослушиваются, и имена программ, используйте команду:
sudo netstat -plt
где флаги –p, –l и –t означают program (программы), listening (прослушивание) и TCP соответственно.
В результате выполнения команды вы увидите список. Найдите в нем mysqld – это сервер MySQL:

Если вы видите его в списке, значит, сервер MySQL работает и прослушивает соединения. В противном случае нужно попробовать ручной запуск сервера. Следующая команда полностью перегружает MySQL:
sudo systemctl start mysql
Заметьте, что в некоторых версиях и дистрибутивах Linux используется mysqld или mysql-server, а не mysql. Попробуйте разные варианты, чтобы определить, какой из них применяется в вашей системе.
После выполнения этой команды сервер запустится. Проверьте это с помощью sudo netstat -plt, как описано ранее.
По какой причине сервер MySQL может завершить работу? Эта система очень эффективна и производительна, но не всегда стабильна. Если количество одновременно выполняемых задач велико, то она существенно замедляется. Чтобы минимизировать возможные проблемы, нужно следить за объемом доступной памяти.
Топ-30 самых востребованных и высокооплачиваемых профессий 2022
Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 18533
Проверьте log-файлы и ищите в них сообщения об ошибках. Для поиска используйте команду zgrep:
zgrep -a «allocate memory» /var/log/mysql/error.log*
В результате выполнения данной команды вы увидите все log-файлы, содержащие error.log и ‘allocate memory’. Поиск будет выполняться по файлам в директории /var/log/mysql/.
На выводе вы можете увидеть подобную строку:
2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
Это значит, что для корректной работы MySQL не хватает памяти. Именно это и является причиной ошибки подключения к базе данных. Если вы видите не одну такую строку, а несколько, значит, проблема нехватки памяти регулярная. Решается она переносом данных на более мощный сервер. Если сайт размещен на облачном сервере, то хостинг-провайдер в большинстве случаев может обновить сервер быстро и с минимальным простоем.

Читайте также
Если команда zgrep не выдала списка log-файлов, то сервер не испытывает проблем с нехваткой памяти. Значит проблемы установки соединения с базой данных может быть связана неверными учетными данными MySQL.
Проверка учётных данных MySQL
Если вы поменяли хостинг-провайдера или переместили установку WordPress на новый сервер, то информация в файле wp-config.php становится неактуальной. Вам необходимо поменять соответствующие строки в файле, иначе подключение к базе данных будет невозможно.
Чтобы найти этот файл используйте команду find:
sudo find / -name «wp-config.php»
Данная команда будет искать файл с указанным именем в корневой папке. Если он будет найден, то на выходе вы увидите путь к найденному файлу:
/var/www/html/wp-config.php
Чтобы открыть его в текстовом редакторе nano, напишите:
sudo nano /var/www/html/wp-config.php
В результате вы увидите файл с большим количеством строк. Первыми строками как раз и будут те, что описывают подключение к базе данных:
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name’);
/** MySQL database username */
define(‘DB_USER’, ‘database_username’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘database password’);

Вместо ‘database_name’, ‘database_username’ и ‘database_password’ должны быть указаны корректные данные о вашей БД. При необходимости отредактируйте их. На забудьте сохранить файл и выйти из редактора, нажатием CTRL-O, CTRL-X.
Чтобы убедиться, что проблема решена, попробуйте подключиться к базе данных. Для этого наберите команду:
mysqlshow -u database_username -p
Затем введите пароль. Если имя пользователя или пароль не верные, то вы увидите ошибку Access denied. В противном случае на экран будет выведена информация обо всех базах данных, к которым у вас есть доступ.
+———————+
|Databases |
+———————+
| information_schema |
| database_name |
+———————+
Если вы видите имя нужной базы данных в списке, то в файле wp-config.php указаны корректные данные. Теперь можно перезапустить WordPress сайт.
Если после этого ошибка подключения к базе данных не исчезла, то переходите к третьему шагу.
Точный инструмент «Колесо компетенций»
Для детального самоанализа по выбору IT-профессии
Список грубых ошибок в IT, из-за которых сразу увольняют
Об этом мало кто рассказывает, но это должен знать каждый
Мини-тест из 11 вопросов от нашего личного психолога
Вы сразу поймете, что в данный момент тормозит ваш успех
Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.
Только до 2 февраля
Осталось 17 мест
Восстановление базы данных WordPress
Случается, что база данных WordPress оказывается поврежденной. Причин, по которым такое происходит, может быть несколько:
- неудачное обновление;
- сбой базы данных;
- некорректный плагин.
Непосредственно на сайте в таком случае вы все также увидите сообщение — «ошибка установки соединения с базой данных».
Попытаемся восстановить БД. Откройте файл wp-config.php с помощью текстового редактора:
sudo nano /var/www/html/wp-config.php
Вставьте в файл строку:
define(‘WP_ALLOW_REPAIR’, true);
Таким образом включается функция восстановления базы данных. Сохраните файл и закройте его.
Затем откройте браузер и перейдите по следующему URL:
http://www.example.com/wp-admin/maint/repair.php
Не забудьте заменить www.example.com на URL вашего сайта или укажите IP.
Тогда вы увидите следующее сообщение на экране:
WordPress can automatically look for some common database problems and repair them.
Выберите вариант Repair Database. В появившейся странице вы увидите процент проверенных и восстановленных данных.
После восстановления вернитесь к файлу wp-config.php. Удалите из него функцию, ответственную за восстановление базы данных. Это необходимо сделать из соображений безопасности, иначе доступ к восстановлению БД будет у всех.

Если после восстановления базы данных WordPress все еще выдает ошибку о проблеме соединения, восстановите базу данных из бэкапа (резервной копии).
Если же после проверки на странице с результатами вы не увидели исправлений, то ошибка соединения с базой данных не связана с самой базой данных.
Описанные выше способы устранения ошибки соединения зачастую достаточны для решения проблемы. В редких случаях причиной могут быть также вредоносные программы и атаки.
Дополнительные методы устранения ошибки установки соединения с БД
Следующие способы устранения ошибки установки соединения с базой данных категорически не рекомендуется использовать начинающим администраторам WordPress! Переходите к ним только в том случае, если не помогли методы, описанные ранее. Не используйте их, если у вас нет валидной резервной копии вашего сайта!

Читайте также
- Обновление настройки в wp_options
Некоторые пользователи отмечали, что ошибка была устранена после выполнения запроса к БД через phpMyAdmin:
[sql]UPDATE wp_options SET option_value=’ http://your_site.ru’ WHERE option_name=’siteurl’;[/sql]
Где вместо ’your_site.ru ‘укажите URL вашего сайта.
- Подключение к базе данных с правами root
Если вы используете виртуальный сервер и можете воспользоваться root правами, то попробуйте подключиться к БД через файл test.php. В случае успеха, попробуйте также подключиться к БД вашего сайта через файл wp-config.php. Затем проверьте работу сайта.
Работать на сервере под учётной записью root – большая ошибка. Обязательно создайте нового пользователя через phpMyAdmin. Не забудьте внести в wp-config.php файл логин и пароль созданного пользователя.
Профилактика возникновения ошибки установки соединения с базой данных
Никто не застрахован от ошибки установки соединения с базой данных при работе с Вордпресс. Однако, вы можете минимизировать шанс остановки сайта, если будете следовать следующим рекомендациям:
- Тщательно выбирайте хостинг-провайдера, который подходит именно для работы с CMS WordPress. Он должен иметь хорошую техподдержку, обеспечивать высокую скорость и стабильность. Зачастую проблемы в работе сайта связаны именно с хостингом.
- Регулярно делайте бэкап. Вы можете самостоятельно выбрать один из плагинов, например, UpdraftPlus, Duplicator или All-in-One WP Migration.
К сожалению, если вы не имеете доступ в панель управления сайта, то вы не сможете воспользоваться резервной копией. Тогда вам нужно будет воспользоваться программным обеспечением для управления хостингом. Например, ISPmanager. Он позволит вам сделать полную резервную копию сайта.
Если вы не хотите самостоятельно делать бэкап, можете обратиться в техподдержку хостинг-провайдера. Они предложат вам программу для резервного копирования.
Правильная обработка ошибок позволяет сделать стабильное приложение, которое не будет завершаться неожиданно. В случае возникновения непредвиденной ситуации программа должна выдавать вменяемый ответ, почему она не хочет исполнится. И создание правильного механизма обработки ошибок — это задача программиста.
В этой статье рассмотрим два вида ошибок, которые могут возникнуть при программировании взаимодействия с базой данных. Первый тип — это ошибка подключения к базе данных. Второй тип — это ошибка выполнения запроса к базе данных. Для обработки этих ошибок будем использовать специальные функции для работы с базой.
Ошибка соединения с базой данных
Сразу приведём пример обработки ошибки с соединением с базой данных:
<?php
$host = 'localhost'; // адрес сервера
$db_name = 'database'; // имя базы данных
$user = 'user'; // имя пользователя
$password = 'password'; // пароль
// создание подключения к базе
$connection = mysqli_connect($host, $user, $password, $db_name);
// проверка правильности подключения
if(!$connection){ // при соединении с базой данных возникла ошибка
echo 'Ошибка соединения: ' . mysqli_connect_error() . '<br>';
echo 'Код ошибки: ' . mysqli_connect_errno();
}else{ // соединение было установлено успешно
// здесь можно делать запрос к базе,
// потому что соединение успешно установлено
}
?>
В этом примере можно заметить функцию mysqli_connect_error. Она выводит текстовое описание ошибки подключения (на английском языке). В отличии от неё функция mysqli_connect_errno выводит числовой код ошибки, к примеру «1045».
Ошибка запроса к базе
Теперь попробуем доработать пример из предыдущего параграфа и добавить запрос к базе данных. Не будем вдаваться в детали, что будет записано в тексте SQL запроса, просто предположим, что он может завершиться ошибкой. К примеру, из-за неожиданного отключения сервера с базой данных от сети. В примере добавим проверку на наличие ошибок при выполнении запроса:
<?php
$host = 'localhost'; // адрес сервера
$db_name = 'database'; // имя базы данных
$user = 'user'; // имя пользователя
$password = 'password'; // пароль
// создание подключения к базе
$connection = mysqli_connect($host, $user, $password, $db_name);
if(!$connection){ // проверка правильности подключения
echo 'Ошибка соединения: ' . mysqli_connect_error() . '<br>';
echo 'Код ошибки: ' . mysqli_connect_errno();
}else{ // подключение успешно установлено
// текст SQL запроса, который будет передан базе
$query = 'SELECT * FROM `USERS`';
// выполняем запрос к базе данных
$result = mysqli_query($connection, $query);
if(!$result){ // запрос завершился ошибкой
echo 'Ошибка запроса: ' . mysqli_error($connection) . '<br>';
echo 'Код ошибки: ' . mysqli_errno($connection);
}else{ // запрос успешно выполнился
while($row = $result->fetch_assoc()){
// обрабатываем полученные данные
}
}
// закрываем соединение с базой
mysqli_close($connection);
}
?>
В этом примере есть две функции, которые работают с ошибками базы. Функция mysqli_error возвращает описание ошибки запроса (на английском языке), а функция mysqli_errno возвращает числовой код ошибки, к примеру, «1193».
Обратите внимание, что все функции обработки ошибок в этой статье (mysqli_connect_error, mysqli_connect_errno, mysqli_error, mysqli_errno) возвращают информацию только о последней ошибке. Но ошибок может быть несколько.
Была ли эта статья полезна?
Есть вопрос?
Закажите недорогой хостинг
Заказать
всего от 290 руб
Когда сайт перестает работать — это неприятно, особенно если это происходит само по себе не по нашей вине.
Вы заходите на сайт и получаете такую ошибку:
Error establishing a database connection
Ошибка соединения с базой данных Вордпресс — одна из общих ошибок, которую можно легко решить.
В этой статье пошаговая инструкция для исправления этой ошибки.
Содержание:
Суть проблемы
- Шаг 1. Свяжитесь с тех.поддержкой хостинга
- Шаг 2. Проверьте, что файлы тем и плагинов не повреждены
- Шаг 3. Проверьте, что база данных не повреждена
- Шаг 4. Проверьте логин и пароль для подключения к Базе Данных
- Шаг 5. Восстановите стандартные файлы Вордпресс
Как избежать этой ошибки в будущем
Суть проблемы
Суть проблемы в том, что сайт не может установить соединение с базой данных, в которой хранится весь контент сайта.
Вордпресс использует две основные технологии для отображения содержимого сайта: PHP и MySQL.
- PHP используется для расположения информации на странице (вместе с html и css),
- MySQL используется для хранения и выдачи информации по запросу.
Вордпресс с помощью PHP команд подключается к базе данных MySQL, получает запрашиваемую информацию и размещает ее на странице.
Если вы получили ошибку соединения с базой данных это означает, что по какой-то причине Вордпресс не может получить доступ к базе данных и не может отобразить запрашиваемый контент.
Причины могут быть разные, но основные причины такие:
- Неверные данные для подключения к базе данных. Вордпрессу нужны логин и пароль для подключения к базе данных. Если по какой-то причине они изменились, то Вордпресс не может получить данные из базы данных.
- Поврежденные файлы Вордпресс. Обычно это случается в результате неудачного обновления тем, плагинов или ядра Вордпресс.
- Поврежденная база данных. Это может случиться из-за установки плохого плагина, хакерской атаки, сбоя темы и по многим другим причинам.
- Проблема с сервером базы данных. Иногда база данных и файлы сайта могут находиться на разных серверах. По каким-то причинам сервер базы данных может лечь.
- Слишком много трафика. Хотя это хорошая проблема, но это все таки проблема. Например, вы опубликовали хороший контент, и он стал вирусным. На сайте произошел пик посещаемости, и сервер не может обработать часть запросов.
Как исправить ошибку установления соединения с базой данных
Обычно причина этой проблемы связана с самой базой данных, поэтому самое простое и быстрое решение проблемы — написать сообщение в тех.поддержку хостинга.
Шаг 1. Свяжитесь с тех.поддержкой хостинга
Если ваш сайт работал минуту назад (или день назад), а теперь не работает, то скорее всего это ошибка на стороне хостинга.
Свяжитесь с тех.поддержкой, скажите, что получили ошибку “error establishing a database connection”.
Спросите, работает ли база данных (или сервер базы данных), и спросите, не было ли пика нагрузки на сервере.
В большинстве случаев, если вы скажете техподдержке, какая именно у вас проблема, они скажут вам, что случилось, или сами исправят эту проблему.
Как минимум, они скажут вам, что база данных в порядке и на сервере нет (или есть) какая-то подозрительная активность.
Если причина не на их стороне, то есть сервер работает и на нем нет пика трафика, и они не могут вам помочь, то переходите к шагу 2.
Шаг 2. Проверьте, что файлы тем и плагинов не повреждены
Файлы сайта могут повредиться в результате нескольких неудачных событий.
Например, вы обновляли тему или плагины, и произошел обрыв соединения. Это могло случиться, если вы подключали сайт к какому-то внешнему сервису. Или вручную редактировали файлы сайта.
Если было что-то из этого, то скорее всего в этом причина ошибки соединения с базой данных. Если нет, то переходите к Шагу 3.
Как найти проблемный плагин или тему:
- Подключитесь к серверу по FTP. Одна из хороших бесплатных программ для этого FileZilla.
Чтобы подключиться к серверу, вам нужен логин и пароль. Если вы не знаете логин и пароль, попробуйте найти первое письмо, которое вы получили от хостинга после оплаты аккаунта.
Если письма нет, зайдите на хостинг, в разделе FTP вы можете найти существующее подключение и посмотреть логин и пароль. Или создайте новое подключение. Если затрудняетесь — обратитесь в техподдержку.
После подключения перейдите в корневую папку сайта. Корневая папка обычно называется «public_html» или «www», или вы уже можете быть в корневой директории после подключения к серверу.

- Зайдите в папку «wp-content» и переименуйте папку «plugins», например, в «plugins1».

- Зайдите на сайт в браузере и проверьте, пропала ли ошибка.
Если ошибка пропала, значит, проблема в каком-то плагине. Вернитесь на сервер по FTP и переименуйте папку с плагинами обратно в «plugins».
Зайдите внутрь папки с плагинами и переименуйте названия папок с отдельными плагинами одну за одной. Добавьте какой-нибудь символ к названию каждой папки, например, «1».

Отключайте плагины по одному таким образом и возвращайтесь на сайт, пока не найдете, какой плагин вызывает проблему. Удалите этот плагин или попробуйте найти решение проблемы с этим плагином в Интернете.
- Если проблема не пропала даже после переименования папки «plugins», сделайте то же самое с папкой «themes».
- Если это не помогло, переименуйте обе папки обратно в «plugins» и «themes». Проблема находится где-то еще.
Шаг 3. Проверьте, что база данных не повреждена
База данных Вордпресс довольно сложная вещь, поэтому если происходит даже небольшой сбой, вы можете увидеть ошибку соединения с базой данных.
- Проверьте, что у вас есть доступ в админку:
ваш-сайт.ru/wp-admin
Если вы видите ту же ошибку “error establishing a database connection”, пропустите это шаг.
- Если вы видите что-то другое, прочитайте что Вордпресс предлагает вам сделать. В последних версиях Вордпресс улучшил решение проблем, возникающих при использовании системы, и предлагает варианты решений. Например, вы можете увидеть такое сообщение:

Еще один вариант — вы можете увидеть сообщение, которое начинается с «Одна или несколько таблиц базы данных…». Это значит, что вам нужно восстановить базу данных.
Чтобы восстановить БД, подключитесь к серверу по FTP, зайдите корневую папку и скачайте файл wp-config.php на компьютер.
Откройте этот файл в Блокноте (или в Notepad++), и добавьте эту строку перед строкой Это все, дальше не редактируем:
Загрузите файл обратно на сервер с заменой существующего файла и перейдите по этому адресу:
ваш-сайт.ru/wp-admin/maint/repair.php
Вы должны увидеть такое сообщение:

Нажмите Починить и оптимизировать базу данных. После того, как ремонт и оптимизация закончатся, попробуйте открыть сайт в браузере. Не забудьте сбросить кеш в браузере.
Если ошибки нет, все в порядке. Удалите строку о включении ремонта в файле wp-config.php. Загрузите файл на сервер с заменой существующего файла.
Если ошибка не пропала, переходите к следующему шагу.
Шаг 4. Проверьте логин и пароль для подключения к Базе Данных
Вордпресс использует логин и пароль для подключения к базе данных, которые хранятся в файле wp-config.php.
Обычно эти данные не меняются сами по себе, но в некоторых редких случаях это может произойти. Например, после изменения каких-то файлов сайта, изменения хостинга или что-то еще.
Откройте wp-config.php и найдите эти строки:
define('DB_NAME', 'имя_базы_данных');
define('DB_USER', 'логин_пользователя');
define('DB_PASSWORD', 'пароль_пользователя');
define('DB_HOST', 'localhost');
Это данные для подключения к базе данных. Если они отличаются от данных для входа в базе данных, то соединение не будет установлено.
В зависимости от интерфейса вашего хостинга, вы можете узнать название базы данных, логин и пароль и для входа на хостинге в разделе Баз Данных.
Если вы не можете узнать эти данные на хостинге, скопируйте эти 4 строки с данными для подключения из вашего файла wp-config.php, вставьте их в сообщение тех.поддержке, и спросите, правильные ли это данные.
Техподдержка либо скажет Да, либо предоставит правильные данные для подключения к базе данных.
Если техподдержка даст другие данные, вставьте их в 4 строки в файле wp-config.php:
define('DB_NAME', 'имя_базы_данных'); /*вставьте сюда название базы данных*/
define('DB_USER', 'логин_пользователя'); /*вставьте сюда логин пользователя*/
define('DB_PASSWORD', 'пароль_пользователя'); /*пароль пользователя*/
define('DB_HOST', 'localhost'); /*адрес сервера. обычно localhost*/
Сохраните, загрузите на сервер.
Перейдите на сайт, проверьте что проблема пропала. Не забудьте сбросить кеш в браузере.
Если проблема не пропала, переходите к следующему шагу.
Шаг 5. Восстановите стандартные файлы Вордпресс
Последнее средство, которое вы можете попробовать — восстановите стандартные файлы Вордпресс.
Файлы могли быть повреждены хакером, плохим плагином или вы могли случайно их изменить.
Скачайте свежую копию Вордпресс на компьютер и распакуйте архив. В распакованном архиве удалите папку wp-content.
Скачайте с сервера на компьютер файлы wp-config.php и .htaccess и сохраните их в отдельной папке. Позже данные из этих файлов могут вам понадобиться.
Загрузите распакованные файлы на сервер с заменой старых на новые. Вставьте данные для подключения к базе данных из Шага 4 и добавьте их в новый файл wp-config.php.
Перейдите на сайт и обновите страницу.
Если это не помогло, то вернитесь на хостинг, скажите тех.поддержке что именно вы делали и попросите их помочь. На этом этапе вы попробовали сделать все, что возможно, и вам остается надеяться только на помощь хостинга.
Как избежать этой ошибки в будущем
Хотя нет 100% защиты от ошибки установления соединения с базой данных Вордпресс, вы можете применять 2 рекомендации для сведения к минимуму вероятности отключения сайта:
- Используйте хороший хостинг, который оптимизирован для работы с Вордпресс и который имеет хорошую техподдержку. Настроенный для работы с Вордпресс хостинг помогает избежать многих общих проблем с Вордпресс. Я пользуюсь хостингом Бегет.
- Настройте бэкап. Установите хороший плагин, например, UpdraftPlus и настройте бэкап на хостинге. Если что-то пойдет не так, у вас всегда будет копия для восстановления.
Читайте также:
- База данных Вордпресс
- Очистка и оптимизация базы данных
- Как изменить префикс базы данных
- Безопасность Вордпресс. Подробное описание
Надеюсь, статья была полезна. Оставляйте комментарии.
Ошибка:
Fatal error: Call to undefined function mb_detect_encoding() in C:serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc on line 177
Решение:
Данная ошибка вызвана тем, что не подключено расширение mbstring. За это расширение в php.ini отвечает строчка
extension=php_mbstring.dll
Понятно, что для исправления ошибки нужно подключить расширение и перезапустить сервер (если не хотите ставить все расширения, как это описано в инструкции, то прежде чем выбрать, что Вам действительно нужно, лучше изучить описание каждого из них).
Тем не менее, теоретически, ошибка может быть вызвана тем, что из-за неправильной конфигурации Apache, файл php.ini вообще не «подхватывается» и PHP работает на дефолтных настройках, т.е. вообще без всех расширений. Но если это было бы так, то phpMyAdmin, в первую очередь пожаловался на то, что не определена другая функция (из-за отсутствия расширения отвечающего за связь с MySQL).
Ошибка:
Добавляю http://localhost/phpmyadmin/setup/
вместо панели управления вижу код:
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Front controller for setup script
*
* @package PhpMyAdmin-Setup
* @license http://www.gnu.org/licenses/gpl.html GNU GPL 2.0
*/
/**
* Core libraries.
*/
require './lib/common.inc.php';
$page = filter_input(INPUT_GET, 'page');
$page = preg_replace('/[^a-z]/', '', $page);
if ($page === '') {
$page = 'index';
}
if (!file_exists("./setup/frames/$page.inc.php")) {
// it will happen only when entering URL by hand, we don't care for these cases
PMA_fatalError(__('Wrong GET file attribute value'));
}
и т. д.
Решение:
Сервер Apache работает без PHP
Ответ пользователя: Перезапустил и обновил браузер все получилось
Ошибка:
Еще пишет:
Используемый скриптом настройки каталог config все ещё находится в установочной директории phpMyAdmin. Обязательно удалите его сразу после настройки phpMyAdmin. В ином случае безопасность вашего сервера может быть скомпрометирована через свободный доступ к загрузке конфигурационного файла.
Решение:
«Каталог config удаляем!» — это из статьи, там красным выделено.
Посмотрите повнимательнее https://codeby.net/blogs/programmy-dlja-servera/ustanovka-apache-php-mysql-phpmyadmin#6
Ошибка:
Я устанавливал себе mysql по вашей статье и возникла ошибка 1067. Что мне делать?
Решение:
Любые ошибки возникают только если хоть в чём-то отойти от мануала. Вы пропустили это:
В каталоге c:Serverbinmysql-5.6 есть директория data, всю эту папку нужно переместить в каталог c:ServerdataDB (иначе служба MySQL не запустится из-за ошибки).
Ошибка:
При переходе на страницу http://localhost/phpmyadmin/setup/
Выползает даннаяошибка, кроме нее ничего нету:
Fatal error: Call to undefined function __() in C:Serverdatahtdocsphpmyadminlibrariescore.lib.php on line 229
Решение:
судя по всему проблема именно в phpMyAdmin. Последний чейндж лог:
| — bug ReferenceError: Table_onover is not defined |
| — bug #4552 Incorrect routines display for database due to case insensitive checks |
| — bug #4259 reCaptcha sound session expired problem |
| +- bug #4557 PHP fatal error, undefined function __() |
| 4.2.10.1 (2014-10-21) |
| — bug #4562 [security] XSS in debug SQL output |
Здесь описание бага: http://sourceforge.net/p/phpmyadmin/bugs/4557/
А здесь чейндж лог, из которого я скопировал https://github.com/phpmyadmin/phpmyadmin/commit/e28912d49e50071cba9632047ed3704f57d4c652
Попробуйте обновиться до последней версии phpMyAdmin 4.2.10.1.
Ну а если у Вас и так уже самая свежая версия, или переход на 4.2.10.1 не помог, то наоборот, скачайте предыдущую 4.2.9. Всё, ошибку поправили, просто обновляйтесь до самой последней версии.
Ошибка:
При запуске httpd я получаю следующее сообщение:
(OS 10048)Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
В качестве ОС использую Windows 8.1
Решение:
Данная ошибка вызвана тем, что какая-то программа прослушивает порт 80, при этом Apache пытается использовать этот же порт. Но две программы не могут это делать одновременно – отсюда и ошибка.
Для того, чтобы узнать, какая программа занимает этот порт:
1) нажмите сочетание клавиш WIN + x
2) из открывшегося списка выберете «Командная строка (администратор)»
3) скопируйте туда:
netstat -ano
4) Найдите строку, содержащую «0.0.0.0:80», в этой строчке нас интересует PID, например, в моём случае это 2168
Теперь нам нужно сопоставить идентификатор процесса с конкретной программой. Чтобы сопоставить идентификатор процесса программы, выполните следующие действия:
5) Нажмите сочетание клавиш WIN + x (или CTRL + ALT + DELETE) и нажмите кнопку «Диспетчер задач».
6) Перейдите на вкладку «Процессы».
7) Если не имеется столбец PID, щелкните «Просмотр», «Выбрать столбцы» и установите флажок «PID» (в русской версии – «ИД процесса»).
8) Щелкните заголовок столбца, под названием «PID» сортировка процесс по PID. Вы сможете легко найти идентификатор процесса, и он соответствует программе, которая отображается в диспетчере задач.
После того, как найдёте программу, которая занимает этот порт, в зависимости от нужности этой программы и от возможности её настройки, можно:
а) удалить эту программу;
или
б) настроить её на использование другого порта;
или
в) настроить Apache на использование другого порта
п.с. на самом деле, могут быть другие причины данной ошибки (кроме занятости порта) – например, неправильная конфигурация сервера Apache, либо запрет в политиках безопасности ОС на использование этого порта. Но если Вы не вносили изменений «от себя» в конфигурацию сервера и в конфигурацию Windows, то дело, почти наверняка, в занятости порта другой программой.
Ответ пользователя с ошибкой: Проблема решена — порт занимал Скайп (есть у него такая бяка в настройках соединения — использовать порты 80 и 443 в качестве альтернативных, после того, как я отключил эту опцию, всё заработало).
Ошибка:
Сервер замедляется, перестаёт отвечать на запросы, хотя причин для этого нет — он не перегружен.
В логах появляется ошибка AH00341: winnt_accept: Asynchronous AcceptEx failed:
[Thu Jun 05 07:24:55.747090 2014] [mpm_winnt:notice] [pid 1784:tid 444] AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured — resuming normal operations
[Thu Jun 05 07:24:55.747090 2014] [mpm_winnt:notice] [pid 1784:tid 444] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59
[Thu Jun 05 07:24:55.747090 2014] [core:notice] [pid 1784:tid 444] AH00094: Command line: ‘c:ServerbinApache24binhttpd.exe -d C:/Server/bin/Apache24’
[Thu Jun 05 07:24:55.748090 2014] [mpm_winnt:notice] [pid 1784:tid 444] AH00418: Parent: Created child process 4952
[Thu Jun 05 07:24:55.957978 2014] [mpm_winnt:notice] [pid 4952:tid 388] AH00354: Child: Starting 64 worker threads.
[Thu Jun 05 07:26:16.695036 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Jun 05 07:26:16.695036 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Jun 05 07:26:48.250710 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Jun 05 07:26:48.250710 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Jun 05 07:29:27.137784 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Jun 05 07:29:27.137784 2014] [mpm_winnt:warn] [pid 4952:tid 1112] (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
Решение:
В файл httpd.conf нужно добавить следующие строки:
Для 2.2:
Win32DisableAcceptEx
EnableSendfile off
EnableMMAP off
Для 2.4:
AcceptFilter http none
AcceptFilter https none
EnableSendfile off
EnableMMAP off
Ошибка:
работать с сервером не могу пока не запущу Apache Monitor.exe, сам Apache в службах значится -как запущенная служба, но через браузер (localhost и т.д.) никакой реакции, пока не произведу вышеуказанное действие, получается запускать апач монитор надо каждый раз для работы c сервером?
сделал чтоб консоль не закрывалась вот что пишет
C:ServerbinApache24bin>httpd.exe
AH00526: Syntax error on line 241 of C:/Server/bin/Apache24/conf/httpd.conf:
DocumentRoot must be a directory
Решение:
наиболее вероятная причина в том, что Вы ставите не на диск C, либо поменяли пути, названия папок, либо не создали папки, о которых говорится в статье. Суть в том, что Apache не видит каталога c:/Server/data/htdocs/
Оказалось, что: нашёл решение проблемы по запарке каталог data создал в bin действительно на свежую голову думается лучше а то после работы ничего не мог понять))
Ошибка:
Столкнулся вот с какой проблемой — после расширения возможностей phpmyadmin и попытке войти под пользователем pma, выскакивает ошибка: #1045 Невозможно подключиться к серверу MySQL. Под root всё в порядке. Если знаете в чем проблема, подскажите пожалуйста как её исправить?! Хочется взглянуть на эти дополнительные возможности phpmyadmin)
Решение:
Вам не нужно заходить в phpMyAdmin от имени пользователя pma. Когда Вы всё настроили и зашли под рутом, то всё уже работает. Просто, на самом деле, в phpMyAdmin мало что меняется. Чтобы убедиться, что доп. возможности работают, кликните по какой-нибудь базе данных и посмотрите, есть ли у Вас в верхнем меню Дизайнер и Слежение. Если есть, значить всё работает.
Ошибка:
возникла странная ошибка, причин которой понять не могу.
Стоит только добавить в каталог к PHP файл php.ini с любыми настройками, перестают выполняться php-скрипты. Убираю файл, перезапускаю Apache — работает (естественно до момента работы с базами данных например, тогда начинает просить расширения)
Решение:
Ответил сам пользователь: Оказалось, что в конфиге php по умолчанию выключена поддержка коротких тегов . Стоило ее включить и сразу все заработало 🙂
Ошибка:
Apache, PHP и MySQL установились без проблем, но когда я дошла до 6-го пункта (phpMyAdmin), получила сообщение об ошибке:
Fatal error: Call to undefined function mb_detect_encoding() in C:Serverdatahtdocsphpmyadminlibrariesphp-gettextgettext.inc on line 177.
Я читала комментарий выше об этой же ошибке, но у меня все нужные строки в php.ini раскомментированы, все делала четко по инструкции. Но все равно ошибка.
С чем это может быть связано и как исправить?
Решение:
перезагрузила — все работает)))
Ошибка:
Захожу http://localhost/phpmyadmin/index.php ввожу лог root а мне пишет ошибка — Невозможно подключиться к серверу MySQL.
Решение:
Такая ошибка возникает если не установлен или не запущен сервер MySQL. Внимательнее изучите инструкцию https://codeby.net/blogs/programmy-dlja-servera/ustanovka-i-nastrojka-servera-apache-php-mysql-phpmyadmin-na-windows-10
Ошибка:
При установке Mysql когда я набираю в консоль mysql -u root, выдается ошибка ERROR 2003, can’t connect to mysql (10061), добавлю что открыл порт 3306 в брандмауре
Решение:
Это точно такая же ситуация как и в предыдущей ошибке: она возникает если не установлен или не запущен сервер MySQL. Внимательнее изучите инструкцию https://codeby.net/blogs/programmy-dlja-servera/ustanovka-i-nastrojka-servera-apache-php-mysql-phpmyadmin-na-windows-10
Ошибка:
Появилась проблема: до момента добавления строк
PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php5_module "C:/Server/bin/PHP/php5apache2_4.dll"
все работает, как надо. Но как только вставляю их в конец файла httpd.conf. выдает ошибку «the requested operation has failed». В логах
Restarting the server. httpd.exe: Syntax error on line 532 of C:/Server/bin/Apache24/conf/httpd.conf: Cannot load C:/Server/bin/PHP/php5apache2_4.dll into server: xcdxe5 xedxe0xe9xe4xe5xed xf3xeaxe0xe7xe0xedxedxfbxe9 xecxeexe4xf3xebxfc. [Mon Jul 06 02:38:24.688572 2015] [mpm_winnt:notice] [pid 2916:tid 392] AH00364: Child: All worker threads have exited.
Решение:
Необходимо установить Visual C++ Redistributable for Visual Studio 2012.
Ошибка:
У меня при установке phpMyAdmin возникла проблема:
Добавить новый сервер Warning: Illegal string offset 'Servers/1/auth_type' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 312 Warning: Illegal string offset 'Servers/1/auth_type' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 319 Warning: Illegal string offset 'Servers/1/auth_type' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 328 Warning: Illegal string offset 'Servers/1/auth_type' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 336 Warning: Illegal string offset 'Servers/1/pmadb' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 371 Warning: Illegal string offset 'Servers/1/controluser' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 376 Warning: Illegal string offset 'Servers/1/controlpass' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 381 Warning: Illegal string offset 'Servers/1/connect_type' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 388 Warning: Illegal string offset 'Servers/1/hosf in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 389 Warning: Illegal string offset 'Servers/1/port' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 389 Warning: Illegal string offset 'Servers/1/socket' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 390 Warning: Illegal string offset 'Servers/1/controluser' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 390 Warning: Illegal string offset 'Servers/1/controlpass' in C:ServerdatahtdocspmalibrariesconfigWalidator.class.php on line 391 (&) Предупреждение_______________________________________________________________________________________________________ Данные формы содержат ошибки Проверка данных на соответствие и возвращение в изначальное значение при наличии ошибки Хранение конфигурации ► Не удалось соединиться с сервером базы данных! - mysqli_connect() expects parameter 5 to be long, string given Игнорировать ошибки Показать форму
Решение:
Если так, то это ошика исключительно версии phpMyAdmin 4.3.2. Тикет ошибки: http://sourceforge.net/p/phpmyadmin/bugs/4653/
Очевидные решения:
1) пользоваться phpMyAdmin из ветки 4.2,
2) подождать пока починят.
Вопрос:
У меня есть уже готовый сайт всё настроил.как сделать чтоб его стало видно из интернета?
Ответ:
Здесь подробная инструкция: «Делаем локальный сайт (на localhost) доступным для других компьютеров».
Вопрос:
Как настроить поддомены?
Ответ:
Подробная инструкция «Настройка поддоменов на локальном сервере (locahost’е) и на хостинге».
Вопрос:
Скажите пожалуйста где вы взяли файл C:/Server/bin/PHP/php5apache2_4.dll
А то у меня ругается апач на его отсутствие
Ответ:
Этот файл с самого начала есть в архиве php-5.5.9-Win32-VC11-x64.zip , который скачиваю с официального сайта.
Если в Вашем архиве нет этого файла, скорее всего, Вы скачали или старую версию (5.4.*, 5.3.*) или Non-Thread Safe (NTS) версию.
Если файл C:/Server/bin/PHP/php5apache2_4.dll присутствует, но Apache выдаёт ошибку, значит проблема в настройке Apache.
Ссылки на «правильный» PHP:
64-бит:
32-бит:
(ссылки устарели)
Вопрос:
А что, если после установки MySQL 5.4.16 не появилось окошко настроек «MySQL Server Instance Configuration Wizard»?
Что делать? Как настраивать?
Ответ:
Значит вы скачали не установщик, а zip-архив. Лично мне ручная установка MySQL кажется более простой и гибкой. Как это сделать описано здесь.
Вопрос:
Как поменять пароль для MySQL?
Ответ:
Для задания нового пароля MySQL в командной строке:
c:Serverbinmysql-5.6binmysql -u root mysql
mysql> update user set Password=PASSWORD('новый пароль') WHERE User='root';
mysql> exit
net stop mysql
net start mysql
Вопрос:
Как прописать переменные среды для MySQL в Windows?
Ответ:
Откройте «Мой компьютер» (у меня называется «Этот компьютер» — не суть). Там выберите «Свойства системы». Дальше выберите «Дополнительные параметры системы». В открывшемся окне на вкладке «Дополнительно» нажмите «Переменные среды». Там два окошечка, смотрите на то, которое называется «Системные переменные». Находите переменную «Path». Кликаете два раза на ней. В «Значение переменной» уже много-много чего понаписано. Добавляете туда (например, вставьте в самое начало) строку
C:Serverbinmysql-5.6bin;
Нажмите везде ОК, чтобы закрылись все окна. Сразу, даже без перезагрузки можно работать в командной строке и вызывать MySQL как mysql — полный путь прописывать до бинарника не нужно.
Вопрос:
Посоветуйте хостинг
Ответ:
Лучший хостинг в рунете здесь. Никаких компромисов — есть всё, что только бывает на виртуальном хостинге — однозначный выбор codeby.net. Цены — практически, самые низкие на рынке, я видел и более дешёвые предложения, но они или с подвохом (плата за услуги, которые обычно предоставляют бесплатно) или просто от «мутных» контор — с которыми потом горя нахлебаешься, сэкономленная копейка этого не стоит. Тарифы, заказ. Чтобы получить всевозможные подарки и бонусы, а также персональную поддержку от codeby.net, указывайте промокод c79d4aad
Совет:
Хотите навсегда забыть о всех проблемах с сервером? Хотите просто радоваться развитию вашего сайта и не думать ни о каких технических проблемах? Хотите получить надёжных друзей в виде высококвалифицированной и быстрой технической поддержки? Лучший хостинг от лидеров рынка по доступным ценам. Тарифы, заказ. Чтобы получить бесплатный месяц веб-хостинга, другие бонусы и подарки, а также персональную поддержку от codeby.net и попасть в закрытый раздел форума FreeForum.biz, указывайте промокод c79d4aad
| Основные характеристики | Простор 1 | Простор 2 | Простор 3 | Простор 4 |
| Цена в месяц при оплате за год | 99 руб. | 129 руб. | 199 руб. | 299 руб. |
| Доменов RU/РФ/COM/NET/ORG бесплатно при оплате за год | 1 | 2 | 3 | 4 |
| Цена за год | 1188 руб. | 1548 руб. | 2388 руб. | 3588 руб. |
| Скидка при оплате за год | 240 руб. | 360 руб. | 720 руб. | 1200 руб. |
| Цена в месяц при оплате ежемесячно | 119 руб. | 159 руб. | 259 руб. | 399 руб. |
| Количество сайтов и доменов | неограниченно | |||
| Конструктор сайтов бесплатно | ![]() |
|||
| Дисковое пространство на SSD | 2000 МB | 5000 МB | 10000 МB | 20000 МB |
| MySQL баз данных | неограниченно | |||
| Файловый менеджер | ![]() |
| 1 | SSH-доступ предоставляется только на тарифах «Простор 2», «Простор 3», «Простор 4» |
| 2 | Акция «1500 рублей на рекламу Google.Adwords» действует только при оплате услуг через систему WebMoney (для рекламы в системе Google.Adwords) |
| 3 | Специалисты Hostland.RU быстро, бесплатно и бережно перенесут сайты и настроят их на нашем хостинге, вам не нужно переживать что сайты перенесенные к нам не будут работать (Подробнее про перенос сайтов на Hostland.RU) |
| Индивидуальный подход. Если возникнет такая необходимость — мы всегда сможем предложить Вам индивидуальный тарифный план, который максимально подходит для Ваших нужд
При необходимости, вы всегда можете сменить тарифный план из панели управления хостингом |
Если вы занимаетесь разработкой своего сайта сначала на локальном компьютере, то при переносе на хостинг практически всегда столкнётесь с ошибкой установки соединения с базой данных, в английской версии WordPress она звучит так: Error establishing a database connection.
Но совсем необязательно, что это будет из-за переноса сайта, могут быть изменены настройки подключения к базе данных: удалён пользователь, под которым вы подключались, либо же изменён пароль или MySQL вынесен на отдельный сервер.
Также появление этой ошибки может означать недоступность сервера базы данных на вашем хостинге. В любом случае, проблема есть и её нужно решать.
Убедитесь, что имеете исправную резервную копию вашего сайта до любых действий, которые будут предложены ниже в инструкции!
Проявляется ли проблема в wp-admin
Первым делом стоит убедиться, что данное сообщение об ошибке выводится и на сайте, и в административной панели. Для этого попробуйте зайти в админку сайта (wp-admin).
Если в административной панели выводится абсолютно аналогичное сообщение об ошибке установки соединения с базой данных — можете смело переходить к следующему шагу этой инструкции.
Если же вы получили сообщение «Одна или несколько таблиц базы данных недоступны», тогда нужно будет выполнить автоматическое исправление таблиц механизмами WordPress.
Для этого нужно выполнить следующие шаги:
- Открыть файл wp-config.php и добавить в него следующую строку:
[php]define(‘WP_ALLOW_REPAIR’, true);[/php] - После этого зайти по адресу http://ваш-сайт.ru/wp-admin/maint/repair.php

- Нажать кнопку «Починить базу данных» и дождаться завершения операции.
Это может занять некоторое время, в зависимости от размера данных в таблицах базы вашего сайта.
Запомните, что доступ к этой странице может получить любой пользователь вашего сайта, обратившись к ней по прямому адресу. Поэтому после исправления ошибки обязательно удалите строку WP_ALLOW_REPAIR из файла wp-config.php!
Если после этого шага сайт стал доступен и сообщение об ошибке больше не появляется — можете смело завершить чтение статьи и радоваться, что обошлись лишь испугом.
В ином случае рекомендую продолжить чтение заметки.
Проверка файла wp-config.php
Файл wp-config.php один из самых важных файлов в WordPress — именно в нём прописаны все параметры для нормальной работы вашего сайта. Все настройки для подключения к базе данных тоже находятся именно в этом файле.
Если вдруг вы, или кто-то другой (например, системный администратор), изменили логин или пароль для подключения к базе данных, то внести изменения нужно именно в файл wp-config.php, помните об этом.
За настройки подключения к базе данных MySQL отвечают следующие константы:
[php]define(‘DB_NAME’, ‘название базы данных’);
define(‘DB_USER’, ‘пользователь базы данных’);
define(‘DB_PASSWORD’, ‘пароль пользователя’);
define(‘DB_HOST’, ‘localhost’);[/php]
Имейте в виду, что в константе DB_HOST не всегда будет значение localhost, это может быть и IP адрес сервера, либо же какой-то другой адрес, если вы используете хостинг от МастерХост, например. В любом случае, эту информацию вам нужно уточнить у вашего хостинг-провайдера, либо в личном кабинете вашего хостинга.
Но для большинства хостингов значение DB_HOST будет всё-таки localhost и чаще всего изменять его не придётся.
Стоит упомянуть, что в некоторых случаях вам нужно будет указать нестандартный порт для подключения к MySQL, это делается следующей командой в файле wp-config.php:
[php]define(‘DB_HOST’, ‘127.0.0.1:3351’);[/php]
, где 3351 — порт, на котором «прослушивается» MySQL-сервер. Уточните это значение у вашего системного администратора.
Если вы убедились, что все настройки в файле корректны — тогда стоит полагать, что проблема с подключением к базе данных где-то глубже и нужно копать усерднее.
Проверка работоспособности MySQL сервера
Если ваш хостинг-провайдер позволяет использовать скрипт phpMyAdmin — попробуйте воспользоваться им. Для этого зайти на ваш аккаунт, найдите пункт в меню с упоминанием базы данных и возле него будет ссылка на phpMyAdmin.
Если у вас виртуальный сервер (VPS) и вы используете cPanel или ISPManager, то ссылка на phpMyAdmin будет на главной странице панели управления сервером.
В любом случае, вам нужно попробовать зайти в базу данных вашего сайта. И, если всё удалось, то ещё раз проверить данные для подключения, которые вы внесли в файл wp-config.php из прошлого шага этой инструкции.
Если же не удаётся подключиться к базе данных через phpMyAdmin, то пробуем вот такой ход.
- Создаёте на компьютере файл, назовём его test.php и добавляем в него следующий код:
[php]<?php
$resource = mysql_connect(‘localhost’, ‘пользователь’, ‘пароль’);
if (!$resource) {
die(‘Ошибка при подключении: ‘ . mysql_error());
}
echo ‘Подключено успешно!’;
mysql_close($resource);[/php]
Вместо «пользователь» и «пароль» укажите свои данные для подключения к базе данных. Если у вас VPS — можете использовать учётную запись root. - Загружайте этот файл на FTP вашего хостинга
- Открывайте в браузере адрес http://ваш-сайт.ru/test.php
- Если на экране отразилось «Ошибка при подключении», то рядом с ней будет выведено сообщение (чаще на английском), по которой в Google или Яндекс можно найти какие-то комментарии
- Если же отобразилось «Подключено успешно», тогда внесите используемые ваши логин и пароль для подключения к базе данных в файл wp-config.php, как в позапрошлом шаге
Если при открытии этого скрипта вы получили сообщение: #1045 – Access denied for user ‘foo’@’%’ (using password: YES), это значит вы используете неправильный логин или пароль. Проверьте ещё раз и попробуйте снова.
В случае, если не удалось подключиться к базе данных ни через phpMyAdmin, ни через файл test.php — рекомендую обратиться в службу поддержки вашего хостинг-провайдера и разобраться в чём дело по телефону. У нормального провайдера круглосуточно работает служба поддержки.
Решения, которые помогли другим
Используйте эти рекомендации на свой страх и риск!
В любом случае, перед началом любых правок у вас на руках должна быть рабочая резервная копия вашего сайта.
Обновление настройки в wp_options
Некоторым пользователям помогало выполнение следующего запроса к базе данных через phpMyAdmin:
[sql]UPDATE wp_options SET option_value=’адрес_вашего_сайта’ WHERE option_name=’siteurl’;[/sql]
Вместо «адрес_вашего_сайта» укажите адрес сайта, чтобы запрос выглядел так:
[sql]UPDATE wp_options SET option_value=’http://ваш-сайт.ru’ WHERE option_name=’siteurl’;[/sql]
Имейте в виду, что таблица wp_options может называться иначе, если вы изменяли префикс таблиц WordPress. В этом случае, вместо wp_ укажите свой префикс.
Подключение под root к базе данных
Если у вас VPS и удалось подключиться с помощью файла test.php к базе данных под пользователем root — тогда попробуйте использовать эти данные для подключения к базе данных вашего сайта через wp-config.php.
Если всё пройдёт нормально и сайт заработает, тогда рекомендую зайти в phpMyAdmin, создать нового пользователя и указать логин и пароль нового пользователя в wp-config.php.
Никогда не работайте под учётной записью суперпользователя на вашем боевом сервере.
Заключение
Решение этой проблемы может быть как мгновенным, так и длительным. Всё зависит от сложности и ситуации, повлёкшей появление этого сообщения.
Если вы знаете ещё какие-то пути решения это проблемы — напишите о них в комментариях и я обновлю заметку.
В любом случае, вы всегда можете обратиться ко мне за консультацией и вместе мы решим возникшую проблему. Успехов!
