0

我正在使用 linux 构建服务器 ( http://circleci.com ) 进行自动构建和测试;但是我需要连接到 MSSQL 服务器。我可以在 Windows 上进行开发并使用 MS php SQLSVR 驱动程序进行连接,但我无法在 Linux 构建服务器上连接,因为驱动程序只是 Windows。

我的问题是:有没有一种方法可以通过 php 连接到 Windows 和 linux 的 MSSQL 服务器?尝试了 odbc,但随后您需要在 linux 上使用 bdlib 和 FreeTDS - 这将构成代码更改,因此意味着测试不是 100%,例如在 Windows 环境上它将使用它,odbc:{SQL Server}而在 linux 上它将是odbc:FreeTDS

检查一下正在使用的系统然后选择相应的数据库连接字符串似乎并不正确。

我正在使用 PHP 5.5.1

4

1 回答 1

0

不,没有单一的方法,但是做这样的事情是微不足道的:

if ('Linux' === PHP_OS){
    $pdo = new PDO("dblib:dbname=$database_name;host=$database_server", $username, $password);
}else{
    // $pdo = whatever you're using on your Windows box now.
}

您还需要在 Linux 服务器上设置 odbc.ini、odbcinst.ini 和 freetds.conf 文件。

于 2013-08-16T13:23:32.967 回答