phpBB PHPMySQL

phpBB: форум не открывается, ошибка базы данных

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

Ошибки phpBB чаще всего связаны с параметрами подключения в config.php, недоступным или перегруженным сервером базы, повреждёнными таблицами или кэшем. Проверьте данные подключения, работу MySQL/MariaDB, очистите папку cache/ и убедитесь, что есть права на запись.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Если не помогло
  5. Проверка настроек и службы
  6. Место, лимиты и ремонт
  7. После переноса или обновления

#Что означает ошибка

Сообщение
General Error SQL ERROR [ mysqli ] Could not connect to database
По-русскиФорум phpBB показывает сообщение об ошибке базы данных или не загружается.

Сообщение phpBB «General Error: SQL ERROR [mysqli]… Could not connect» означает, что форум не может подключиться к базе данных: неверные данные в config.php, остановлена служба MySQL/MariaDB, превышены лимиты подключений, закончилось место на диске или база повреждена.

Проверка проводится по порядку: настройки, служба базы данных, место на диске, таблицы.

Перед ремонтом таблиц сделайте резервную копию.

phpBB хранит всё в базе данных, а параметры подключения — в config.php. При нарушении любого звена форум показывает ошибку.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Неверные данные в config.phpИмя БД, пользователь, пароль, хост.Ошибка после переноса или смены пароля.Сверьте значения с панелью хостинга.
Сервер базы данных недоступенОстановлен или перегружен.Другие сайты хостинга также недоступны.Проверьте у хостера, подождите.
Повреждены таблицыСбой записи.Ошибки при операциях с форумом.Восстановите таблицы (REPAIR TABLE) или из копии.
Кэш или права на каталогиНельзя писать в cache/.Ошибки при открытии страниц.Очистите кэш, проверьте права.

#Пошаговое решение

  1. Проверьте config.phpОткройте config.php в корне phpBB через панель хостинга либо SSH и сверьте значения $dbhost, $dbname, $dbuser с действующими настройками БД. Пароль не выводите в браузер/отчёт. Убедитесь, что это конфигурация именно запрошенного форума, а не соседнего сайта.
  2. Проверьте подключение к MySQLЕсли есть консольный доступ и разрешённая учётная запись БД, проверьте подключение mysql -h реальный_хост -u реальный_пользователь -p имя_базы с подстановкой из конфигурации. Если здесь получен отказ 1045, проверяйте реквизиты и права; если нет маршрута/сокета — проверяйте службу и адрес. Не сбрасывайте root-пароль ради приложения.
  3. Проверьте службуНа своём сервере проверьте systemctl status mysql или mariadb, затем журналы нужной службы. На виртуальном хостинге такой доступ может отсутствовать — тогда используйте индикатор состояния базы в панели или обратитесь к поддержке. Не перезапускайте базу, если ею пользуются другие сайты, без согласованного окна.
  4. Проверьте место и памятьВ терминале сервера выполните df -h, df -i и просмотрите сообщения о нехватке памяти. Если раздел БД заполнен, защищайте резервные копии и ищите источник заполнения вместо удаления файлов InnoDB. Исправив проблему ресурса, проверяйте подключение снова.
  5. Отремонтируйте таблицыЕсли в General Error явно указана повреждённая таблица, определите тип движка SHOW TABLE STATUS и сохраните дамп базы. mysqlcheck --auto-repair не универсален для InnoDB и может быть неподходящим; для InnoDB обычно требуется отдельная диагностика и восстановление из копии. Проверьте доступность разделов форума после ремонта и сохраните новые журналы.

#Если не помогло

Перед работами с базой сделайте резервную копию. Если ошибка возникла после обновления, проверьте совместимость расширений и версий PHP.

#Проверка настроек и службы

Откройте config.php форума и проверьте $dbhost, $dbname, $dbuser, $dbpasswd. Проверьте подключение вручную: mysql -u ПОЛЬЗОВАТЕЛЬ -p -h ХОСТ ИМЯ_БАЗЫ. Проверьте службу: sudo systemctl status mysql (или mariadb). После перезапуска сервера служба иногда не стартует: sudo systemctl start mysql.

#Место, лимиты и ремонт

Проверьте место (df -h) и память (free -m): при нехватке MySQL падает. Проверьте лимит подключений: SHOW VARIABLES LIKE 'max_connections';. Для ремонта таблиц используйте mysqlcheck --auto-repair -u root -p ИМЯ_БАЗЫ или в phpMyAdmin «Восстановить таблицу». Журнал MySQL: sudo tail -n 50 /var/log/mysql/error.log.

#После переноса или обновления

При переносе на другой сервер обновите настройки подключения и проверьте права пользователя: GRANT ALL ON база.* TO 'пользователь'@'localhost';. При обновлении на новую версию PHP убедитесь, что драйвер mysqli включён (php -m | grep mysqli). Очистите кэш форума: удалите содержимое каталога cache/ (кроме .htaccess и index.htm).

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.