我正在使用带有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'." );
}
答案 0 :(得分:1)
原来PHP SQLSrv驱动程序需要Microsoft SQL Server 2008 Native Client才能运行。确保它是'08'客户端而不是'05',我在遇到此问题时已经安装了SQL Server 2005的本机客户端。只有在我为SQL Server 2008安装了客户端后才能正常工作。希望这有助于其他人。