Php 到MS SQL Server 2008的PDO连接

Php 到MS SQL Server 2008的PDO连接,php,sql-server,pdo,Php,Sql Server,Pdo,我以前在VM中做过一次,但是,我需要创建VM的第二个实例,并且我正在尝试连接到我的MS SQL Server。目前我已经安装了php-5.3.6-nts-Win32-VC9-x86版本的php。我已经正确配置了php.ini并运行了phpinfo,我可以验证是否正确安装了sqlsqrv PDO驱动程序。我将它与IIS7结合使用,并且我已经启动并运行了Web服务器。我的index.php文件中有以下行 如果我成功地连接到数据库,我还有以下内容可以给我一些反馈 if($conn) { ech

我以前在VM中做过一次,但是,我需要创建VM的第二个实例,并且我正在尝试连接到我的MS SQL Server。目前我已经安装了php-5.3.6-nts-Win32-VC9-x86版本的php。我已经正确配置了php.ini并运行了phpinfo,我可以验证是否正确安装了sqlsqrv PDO驱动程序。我将它与IIS7结合使用,并且我已经启动并运行了Web服务器。我的index.php文件中有以下行

如果我成功地连接到数据库,我还有以下内容可以给我一些反馈

if($conn) {
    echo "Connection established. </br></br>";
} else {
    echo "Connection could not be established. </br>";
    die(print_r(sqlsrv_errors(), true));
}
$conn = new PDO("sqlsrv:server=$serverName; Database=classReg");

关于我可能遗漏的内容,有什么想法吗?

我可以通过执行以下操作来解决此问题:

我创建了一个用户来访问数据库,而不是使用Windows身份验证。 我还将IUSR添加到数据库登录组。 完成这两件事之后,我修改了下面的代码行以连接到数据库

if($conn) {
    echo "Connection established. </br></br>";
} else {
    echo "Connection could not be established. </br>";
    die(print_r(sqlsrv_errors(), true));
}
$conn = new PDO("sqlsrv:server=$serverName; Database=classReg");
这一行现在是:

$conn = new PDO("sqlsrv:server=$serverName; Database=classReg", "<user>", "<password>");
帮助我的一件事是查看服务器的日志。我遇到了一个问题,因为我没有从原始代码中的if语句中获得任何输出。但是我能够查看SQL Server的日志,并且能够看到发生了什么。日志位于管理->SQL Server日志。在我做了这两个更改之后,我能够顺利地连接到数据库,没有任何问题。我希望这能帮助其他遇到类似问题的人