Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SQL Server驱动程序未连接_Php_Zend Framework - Fatal编程技术网

PHP SQL Server驱动程序未连接

PHP SQL Server驱动程序未连接,php,zend-framework,Php,Zend Framework,我正在使用带有PHP5.3.5的Zend CE服务器和带有PDT的Eclipse Helios来开发一个数据库驱动的PHP web应用程序。我已经设置了开发环境,并通过Zend控制面板启用了SQL_Srv驱动程序 我的问题是在我的脚本中,当我调用sqlsrv\u connect()函数时,它无法连接到我的SQL Server db,并且总是返回false。我已经验证了我可以通过系统DSN以及Microsoft SQL server Management Studio连接到服务器,因此我知道它在那

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

我的问题是在我的脚本中,当我调用
sqlsrv\u connect()
函数时,它无法连接到我的SQL Server db,并且总是返回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'." );
}

事实证明,PHP SQLSrv驱动程序需要Microsoft SQL Server 2008本机客户端才能运行。请确保它是“08”客户端而不是“05”,在遇到此问题时,我已经安装了SQL Server 2005的本机客户端。只有在我安装了SQL Server 2008客户端之后,它才能正常工作。希望这对其他人有所帮助。

做一个phpinfo()以确保PHP中编译了必要的SQL Server扩展。你好,Jarrod,是的,我检查了phpinfo(),我可以在已注册的PHP流列表中看到“sqlsrv”。