【问题标题】:This extension requires the Microsoft ODBC Driver 11 for SQL Server in PHP此扩展需要 Microsoft ODBC Driver 11 for SQL Server in PHP
【发布时间】:2016-09-30 12:34:04
【问题描述】:

我正在尝试使用 MSSQL 在我的 PC 上运行 PHP 开发应用程序,这是我第一次这样做。我已经在我的 PC 上配置了 XAMPP 并启动了 Apache

我做的步骤:

已下载sqlsrv32.exe

因为我的 PHP 是

PHP 版本 5.6.20

所以我复制了

extension=php_sqlsrv_56_ts.dll 和
扩展=php_pdo_sqlsrv_56_ts.dll

到我的分机文件夹 我检查了 php.ini 我的扩展文件夹是 extension_dir="C:\xampp\php\ext"

我也有 phpinfo()

启用 sqlsrv 支持
指令 本地价值 主价值
sqlsrv.ClientBufferMaxKBSize 10240 10240
sqlsrv.LogSeverity 0 0
sqlsrv.LogSubsystems 0 0
sqlsrv.WarningsReturnAsErrors On On

这意味着它已经安装,我的 database.php 文件有以下代码:

$serverName = "KASHIF\\SQLEXPRESS"; //serverName\instanceName

$connectionInfo = array( "Database"=>"RMS Delivery");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
 echo "Connection established.<br />";
}else{
 echo "Connection could not be established.<br />";
 die( print_r( sqlsrv_errors(), true));
}

但是,当我在浏览器上打开我的应用程序时,它会显示:

无法建立连接。 Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => 此扩展需要 Microsoft ODBC Driver 11 for SQL服务器。访问以下 URL 以下载适用于 x86 的 SQL Server 的 ODBC 驱动程序 11:http://go.microsoft.com/fwlink/?LinkId=163712 [message] => 此扩展需要适用于 SQL Server 的 Microsoft ODBC 驱动程序 11。访问以下 URL 以下载适用于 SQL 的 ODBC 驱动程序 11 x86 服务器:http://go.microsoft.com/fwlink/?LinkId=163712) [1] => Array ([0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver管理器] 未找到数据源名称且未指定默认驱动程序 [消息] => [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序))

然后我下载了 ODBC Driver 11 for SQL Server ,安装时说:

该产品安装失败,因为该操作系统不支持该产品。

我的电脑上已经安装了带有 Management Studio 的 SQL SERVER 2012。

所以请告诉我我要离开什么或者我做错了什么。

谢谢

【问题讨论】:

  • 你想如何连接你的 mssql 服务器?使用sql驱动还是使用pdo驱动?你已经配置了它们。以及您使用的是哪个操作系统?
  • 我认为 XAMPP 将需要非线程安全的 DLL
  • 请记住 ODBC 驱动程序提供了从 Windows 到 Microsoft SQL Server 的本机连接,因此除了 php sql 驱动程序之外,您还需要它。安装后,尝试下载 Microsoft Drivers 3.0 for PHP(我使用 Windows 10SQL Server 2012 和 php_pdo_sqlsrv_53 没有问题)
  • @Archish 我正在使用 WIN8,我没有偏好请建议 sql 驱动程序或使用 pdo 驱动程序哪个更好。我应该删除一个并尝试
  • @NachoM。你在说 sqlsrv32.exe 那么我已经这样做了。

标签: php sql-server windows-8 xampp


【解决方案1】:

您可以从here 下载 pdo 驱动程序。

您将获得所有驱动程序和帮助文件,这足以解决您的所有查询。我使用 php_pdo_sqlsrv_56_ts.dll 驱动程序访问我的本地主机。

【讨论】:

  • 我有这个extension=php_pdo_sqlsrv_56_ts.dll ,我已经将 php_pdo_sqlsrv_56_ts.dll 复制到了 ext 文件夹,但又出现了错误 Call to undefined function sqlsrv_connect()
猜你喜欢
  • 1970-01-01
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多