无法识别使用 MSSQL Server 2016 安装 Roundcube

Installing Roundcube with MSSQL Server 2016 not recognized

  1. PHP 7.1.2
  2. Roundcube 1.2.3 - 完成
  3. SQL 服务器 2016
  4. Windows 服务器 2016

已从以下位置下载 Microsoft PHP 驱动程序 (SQLSRV40.EXE):

https://docs.microsoft.com/en-us/sql/connect/php/step-1-configure-development-environment-for-php-development

我在尝试 运行 Roundcube 安装程序但无法继续时收到以下错误消息:

Sorry but your webserver does not meet the requirements for Roundcube! Please install the missing modules or fix the php.ini settings according to the > above check results. Hint: only checks showing NOT OK need to be fixed.

整个页面上没有任何内容被标记为 "NOT OK",但似乎无法识别数据库。请参阅从安装程序页面复制的以下内容:

Checking available databases

Check which of the supported extensions are installed. At least one of them is required.

MySQL: NOT AVAILABLE(See http://www.php.net/manual/en/ref.pdo-mysql.php)

PostgreSQL: NOT AVAILABLE(See http://www.php.net/manual/en/ref.pdo-pgsql.php)

SQLite: NOT AVAILABLE(See http://www.php.net/manual/en/ref.pdo-sqlite.php)

SQLite (v2): NOT AVAILABLE(See http://www.php.net/manual/en/ref.pdo-sqlite.php)

SQL Server (SQLSRV): NOT AVAILABLE(See http://www.php.net/manual/en/ref.pdo-sqlsrv.php)

SQL Server (DBLIB): NOT AVAILABLE(See http://www.php.net/manual/en/ref.pdo-dblib.php)

Oracle: NOT AVAILABLE(See http://www.php.net/manual/en/book.oci8.php)

我已验证 Microsoft 驱动程序位于 PHP 扩展目录中,并尝试在 PHP.ini 中包含以下扩展(一次一个):

extension=php_sqlsrv_7_nts_x64.dll

extension=php_pdo_sqlsrv_7_nts_x64.dll

我也尝试了其他各种 SQL 相关扩展并重新启动 IIS and/or Windows 但没有成功。

看来 SQLSRV dll 文件必须与您的 PHP 版本相匹配。我安装了 PHP 7.1 并尝试使用 Microsoft 的 7.0 驱动程序。

从 GitHub.com/Microsoft/... 找到正确的驱动程序后,它将 "OK" 放在 MS SQLSRV 旁边并启用 "Next" 按钮继续RoundCube WebMail 安装。

对于ubuntu16操作系统尝试运行

php -m

如果 mysqli 在 运行 执行此命令后未显示,则安装 mysqli 对于 PHP 7.0 版本

sudo apt-get install php7.0-mysqli

对于PHP5版本

sudo apt-get install php5-mysqli