06.06.2018 19:05, Гусев Владислав Юрьевич пишет:
06.06.2018 11:42, Гусев Владислав Юрьевич пишет:
Кстати, да. Раундкуб какую библиотеку php использует: mysql или mysqli.
У меня первая (тоже на прошлой неделе) перестала работать.
А как это проверить?
Проще всего залезть в php-файлы и посмотреть, используется команда
mysql_connect или mysqli_connect (как вариант - конструкция с "new mysqli").
Залез в /usr/share/roundcube/program/lib/Roundcube/rcube_db.php, там есть
такое упоминание mysql:
public static function factory($db_dsnw, $db_dsnr = '', $pconn = false)
{
$driver = strtolower(substr($db_dsnw, 0, strpos($db_dsnw, ':')));
$driver_map = array(
'sqlite2' => 'sqlite',
'sybase' => 'mssql',
'dblib' => 'mssql',
'mysqli' => 'mysql',
'oci' => 'oracle',
'oci8' => 'oracle',
);
Походу тут библиотека pdo используется, которая позволяет работаться с разными
СУБД.
Должен быть установлен пакет php7-pdo_mysql, раз у Вас седьмой пхп.
# rpm -qa | grep mysql
libmysqlclient18-10.1.29-alt1.M80P.1
libmysqlclient16-5.1.65-alt1
php5-pdo_mysql-5.6.36.20180425-alt1.M80P.1
Тут вижу только пакеты от пятого пхп.
# apt-cache search mysqli
php5-mysqli - MySQL Improved Extension for PHP5
php5-mysqlnd-mysqli - MySQL Improved Extension for PHP5 with Native Driver
php7-mysqli - MySQL Improved Extension for PHP
php7-mysqlnd-mysqli - MySQL Improved Extension for PHP with Native Driver
pear-DB - Database Abstraction Layer
pear-MDB2_Driver_mysqli - mysqli MDB2 driver
apt-cache показывает какие в принципе пакеты есть в репозитарии.
На него не нужно ориентироваться.
Это я понимаю. Пакет Php7-pdo не установлен, но с MySQL 5.5 работает и так.
Может он нужен для MySQL 5.7...
Теперь нужно найти конфиг раундкуба, где прописан пароль от мускула,
подключиться к мускулу и, на всякий случай, обновить пароль с обновлением
привелегий:
GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost IDENTIFIED BY
'пароль из конфига'';
Я не догадался просто попробовать зайти с консоли пользователем roundcube.
Попробую при следующем подходе...
Вообще говоря в 5.7 меняется таблица mysql.user, поле Password исчезает, а
сам пароль переезжает в authentication_string. Вероятно как-то надо
сообщить об этом роундкубу...
--
С уважением,
Владимир.
_______________________________________________
Sysadmins mailing list
Sysadmins@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/sysadmins