我正在尝试使用NetBeans 8.0.1中的PHP应用程序连接到Microsoft SQL Server 2008 R2数据库。我在Windows XP上安装了XAMP 1.8.2和PHP 5.4.31。 Apache服务器设置正确,我可以在此处访问XAMPP配置页面:http://localhost:1337/index.php。
我已正确配置PHP的Microsoft SQL Server驱动程序(SQLSRV)...我下载了以下文件: php_sqlsrv_54_ts.dll php_pdo_sqlsrv_54_ts.dll 我将扩展添加到php.ini文件并重新启动了Apache服务。
我有一个名为:INTERACT-21292F \ SQLEXPRESS的SQL Server(在SQL Server Management Studio的属性中找到的名称),SQLExpress服务正在侦听端口1433 ...这是我的index.php文件:
<?php
$serverName = "INTERACT-21292F\SQLEXPRESS, 1433";
$connectionInfo = array("Database" => "GDMediaDB", "UID" => "blah", "PWD" => "blah");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if (!$conn) {
echo("Something went wrong while connecting to MSSQL");
} else {
echo "Connection Established";
}
?>
输出:连接到MSSQL时出错了。
我无法建立与数据库的连接......为什么会这样?
编辑:var_dump(sqlsrv_errors())的结果:
array (size=2)
0 =>
array (size=6)
0 => string 'IMSSP' (length=5)
'SQLSTATE' => string 'IMSSP' (length=5)
1 => int -49
'code' => int -49
2 => string 'This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712' (length=184)
'message' => string 'This extension requires the ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712' (length=184)
1 =>
array (size=6)
0 => string 'IM002' (length=5)
'SQLSTATE' => string 'IM002' (length=5)
1 => int 0
'code' => int 0
2 => string '[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' (length=91)
'message' => string '[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' (length=91)
更新:
我已经安装了正确版本的XAMPP(v.1.6.4附带PHP 5.2.4,它与Windows XP兼容)。现在的问题是SQL Server驱动程序扩展无法加载。我只需下载驱动程序并将它们放在xampp / php / ext /文件夹中并更新php.ini文件以包含:
extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_sqlsrv_52_ts_vc6.dll
当我打开http://localhost:1337/并运行phpInfo()时,sqlsrv扩展名不显示...
如何正确安装PHP 5.2.4的SQL Server驱动程序?
答案 0 :(得分:1)
问题解决了...... 第一个答案是安装正确的SQL Server驱动程序,这可能会迫使您使用旧版本的PHP,XAMPP和Apache Web Server ...可以找到信息here;
对我来说,有必要安装旧版本的XAMPP,我系统的最新版本(WinXP,PHP 5.2.4)是XAMPP 1.6.4,可以找到here。通过查看this文章,为您的系统找到最兼容的XAMPP版本。请务必选择与您的PHP版本兼容的最新XAMPP版本。
下一个问题是安装SQL Server驱动程序。事实证明,php配置文件(php.ini)可以在XAMPP 1.6.4安装目录中的两个位置找到。第一个位置是D:/xampp/php/php.ini,这是文档和所有论坛建议您修改以添加扩展名的文件...但是,有必要修改在以下位置找到的php配置文件Apache bin目录(D:/xamp/apache/bin/php.ini),XAMPP 1.6.4正在加载php配置文件。
phpInfo()页面的最顶层表示加载的php配置文件的位置。表键是:加载配置文件。