Я только что установил почтовый клиент 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 теперь работает
Ошибки подключения к базе данных возникают, когда происходит следующее:
config/db.inc.php
)Для решения первой проблемы необходимо правильно настроить следующий параметр
$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
.)