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

Ответить