Назад | Перейти на главную страницу

RoundCube Не удается подключиться к базе данных

Я только что установил почтовый клиент RoundCube php. Я проверяю базу данных MySQL, и новая таблица была создана, но через браузер я получаю следующую ошибку:

DATABASE ERROR: CONNECTION FAILED!

Unable to connect to the database!
Please contact your server-administrator.

Я проверяю debian-db.php, и параметры входа в систему верны, я также пробовал через терминал и могу подключиться к базе данных с помощью этого параметра

$dbuser='roundcube';
$dbpass='mypass';
$basepath='';
$dbname='roundcube';
$dbserver='';
$dbport='';
$dbtype='mysql';

Я проверяю журнал ошибок и обнаруживаю следующую ошибку: Ошибка БД: не удалось найти пакет «MDB2_Driver_mysql», файл «MDB2 / Driver / mysql.php», как я могу это исправить?

apt-get install php-pear
pear install MDB2_Driver_mysql

Похоже, что это система Ubuntu, вы также можете установить драйвер напрямую, используя apt-get.

$ sudo apt-get install php-mdb2-driver-mysql

(Пакет был частью Ubuntu с 10.04.)

1) Включите ведение журнала mysql и посмотрите, генерирует ли он какую-либо соответствующую информацию.

2) Убедитесь, что безопасный режим sql не включен в php

3) Включите режим трассировки sql в php.ini и посмотрите, генерирует ли он какую-либо дополнительную отладочную информацию, которая может быть полезна.

У меня только что была эта ошибка, и изменение с localhost на 127.0.0.1 исправило ее для меня!

mysql: // roundcube: mypass@127.0.0.1/roundcubemail теперь работает

Ошибки подключения к базе данных возникают, когда происходит следующее:

  1. У вас нет правильной информации о базе данных, установленной в файле конфигурации (config/db.inc.php)
  2. В вашей системе нет требований, необходимых для запуска roundcube.

Для решения первой проблемы необходимо правильно настроить следующий параметр

$rcmail_config['db_dsnw'] = '{db_provider}://{username}:{password}@{host}/{database}';
  • {db_provider} агент базы данных, такой как mysql, mysqli, sqlite и т. д.
  • {username} ваше имя пользователя в базе данных
  • {password} это ваш пароль к базе данных
  • {host} - это либо localhost, либо некоторый параметр хоста для местоположения вашего сервера базы данных
  • {database} имя вашей базы данных, по умолчанию roundcubemail

Пример:

$rcmail_config['db_dsnw'] = 'mysql://myuser:mypassword@localhost/roundcubemail';

Чтобы решить вторую проблему, вам нужно запустить установщик для проверки вашей системы. Пожалуйста удалите installer/папку после завершения установки.

Чтобы запустить тест: перейдите в {roundcube_domain}/installer/index.php.

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

Может быть, установить $dbserver=''; к $dbserver='localhost'; вместо того, чтобы оставлять это поле пустым.

В моем случае это не могло разрешиться localhost, поэтому просто измените его на 127.0.0.1 исправил проблему. (Я использую Mountain Lion.)