Ошибка:
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» (в русской версии – «ИД процесса»).
Щелкните заголовок столбца, под названием «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) |
| Индивидуальный подход. Если возникнет такая необходимость — мы всегда сможем предложить Вам индивидуальный тарифный план, который максимально подходит для Ваших нужд
При необходимости, вы всегда можете сменить тарифный план из панели управления хостингом |
Hello everyone!
I’m trying to install zabbix following the wiki (the mysql version: zabbix-server-mysql from AUR),
on a working LAMP server (up to date).
The package installs, but when I try to take the last steps of the installation (from http://localhost/my_zabbix_installation),
on page two (Check of pre-requisites) it marks:
«PHP databases support off Fail»
according to php, mysql support is enabled. (extension=mysql.so is commented out in /etc/php/php.ini)
What can cause this?
Last edited by scar (2014-08-05 16:16:47)
“The future has already arrived. It’s just not evenly distributed yet.”
― William Gibson
Каталог статей
- Отображение ошибки
- Решение
- метод первый
- Метод второй
- задача решена
Отображение ошибки

Решение
метод первый
Присоединяйтесь при компиляции и установке 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 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 21403
Проверьте 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 сайт.
Если после этого ошибка подключения к базе данных не исчезла, то переходите к третьему шагу.
Только до 29.06
Скачай подборку тестов, чтобы определить свои самые конкурентные скиллы
Список документов:
Тест на определение компетенций
Чек-лист «Как избежать обмана при трудоустройстве»
Инструкция по выходу из выгорания
Чтобы получить файл, укажите e-mail:
Подтвердите, что вы не робот,
указав номер телефона:

Уже скачали 7503
Восстановление базы данных 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. Он позволит вам сделать полную резервную копию сайта.
Если вы не хотите самостоятельно делать бэкап, можете обратиться в техподдержку хостинг-провайдера. Они предложат вам программу для резервного копирования.

