PHP SQL Server驱动程序无法连接

时间:2011-06-27 20:51:29

标签: php zend-framework

我正在使用带有PHP 5.3.5的Zend CE服务器和带有PDT的Eclipse Helios来开发数据库驱动的PHP Web应用程序。我有我的开发环境设置并通过Zend控制面板启用了SQL_Srv驱动程序。

当我调用sqlsrv_connect()函数时,我的问题出现在我的脚本中,它无法连接到我的SQL Server数据库,并且总是返回false。我已经验证我可以通过系统DSN和Microsoft SQL Server Management Studio连接到服务器,所以我知道它在那里,我可以与它交谈。这些相同的设置也适用于我的同事的开发环境(与我的相同),所以我不确定缺少什么。有没有其他人与PHP SQL Server驱动程序有类似的问题?相关的代码片段:

$serverName = 'dbServer';
$connectionInfo = array ( "Encrypt" => 0, "LoginTimeout" => 10,  "Database" => "Test_DB", "UID" => "ABC", "PWD" => "123" );

//This is always false.  Does not connect
$test_Connect = sqlsrv_connect ( $serverName, $connectionInfo );

$GLOBALS['_connection'] = sqlsrv_connect ( $serverName, $connectionInfo );

if ( $GLOBALS['_connection'] == false ) {
    print_r ( sqlsrv_errors(), true );
    die ( "Failed to connect to SQL Server '$serverName'." );
}

1 个答案:

答案 0 :(得分:1)

原来PHP SQLSrv驱动程序需要Microsoft SQL Server 2008 Native Client才能运行。确保它是'08'客户端而不是'05',我在遇到此问题时已经安装了SQL Server 2005的本机客户端。只有在我为SQL Server 2008安装了客户端后才能正常工作。希望这有助于其他人。