#Что означает сообщение
Нет подключения к БД
phpBB Could not connect to database означает, что форум не смог установить соединение с СУБД: это может быть ошибка реквизитов, недоступный MySQL либо ограничение подключений.
#Как отличить причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Данные БД | Сравните момент появления признака «Данные БД» с тем, когда ранее работала нужная функция. Важно сопоставить проверку с исходным симптомом, а не с догадкой. | Исправляйте только подтверждённый фактор «Данные БД», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие. |
| MySQL | Сравните момент появления признака «MySQL» с тем, когда ранее работала нужная функция. Учитывайте версию phpBB и условия сбоя. | Исправляйте только подтверждённый фактор «MySQL», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата. |
| Лимит | Сравните момент появления признака «Лимит» с тем, когда ранее работала нужная функция. Учитывайте версию phpBB и условия сбоя. | Исправляйте только подтверждённый фактор «Лимит», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие. |
| Префикс | Сравните момент появления признака «Префикс» с тем, когда ранее работала нужная функция. Учитывайте версию phpBB и условия сбоя. | Исправляйте только подтверждённый фактор «Префикс», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата. |
#Пошаговое решение
- Зафиксируйте ошибку и проверьте условияЗафиксируйте точную ошибку
Could not connect to databaseи время. Если форум недавно переносили, выясните, изменились ли хост, порт, имя БД или пароль. Прежде чем править настройки, сохраните копию файла конфигурации phpBB и не публикуйте его: в нём находится секрет подключения. - Выполните основную проверку и исправлениеЧерез панель хостинга убедитесь, что сервер базы запущен, сама БД существует и пользователь имеет доступ именно к ней. Если доступен SSH и mysql-клиент, используйте тест соединения с вводом пароля по запросу:
mysql -h ИМЯ_ХОСТА -u ИМЯ_ПОЛЬЗОВАТЕЛЯ -p ИМЯ_БАЗЫ -e "SELECT 1". Не помещайте пароль после-pв команду. - Исключите другие подтверждённые причиныСверьте
dbhost,dbport,dbname,dbuserи настройки подключения вconfig.phpphpBB с информацией панели.localhostможет работать через Unix-сокет, а127.0.0.1через TCP, поэтому они не всегда равнозначны. При ошибкеAccess deniedисправляйте учётные данные, а приConnection refused— доступность сервера. - Проверьте, действительно ли проблема решенаПосле правки конфигурации откройте главную форума, страницу темы и форму входа. Проверьте журнал PHP и БД; если соединение работает, но появилась SQL-ошибка, не сбрасывайте таблицы и не запускайте произвольное восстановление: это уже другая проблема и нужна копия базы.
#Что важно перед исправлением
Не заменяйте config.php пустым шаблоном и не публикуйте его в интернете. Сначала сделайте резервную копию, затем исправляйте только подтверждённый параметр.