【问题标题】:Uncaught Error: Call to undefined function sqlsrv_connect() in XAMPP未捕获的错误:在 XAMPP 中调用未定义的函数 sqlsrv_connect()
【发布时间】:2017-08-04 12:23:30
【问题描述】:

我正在尝试使用 PHP 连接到 SQL Server,但不幸的是,它在 self 调用函数时失败了。我安装了驱动程序 (DLL),以及来自该站点的驱动程序:https://www.microsoft.com/de-ch/download/details.aspx?id=36434

我收到以下消息:

Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in ....

我使用 XAMPP 和最新的 PHP 版本 7.1.1 运行本地服务器。

更新:

我检查了扩展是否在 PHP 中加载:

var_dump(extension_loaded ("php_sqlsrv_7_nts"));

但它给了我一个bool(false) 回复。

【问题讨论】:

  • 你重置服务器了吗?
  • 你的意思是简单的重启?是的,我也这样做了。
  • 是的,这就是我的意思......这将帮助你有一个 smilar 问题:stackoverflow.com/questions/30736601/…
  • 您使用的是sqlsrv 4.0(从微软网站下载的)吗?如果是这样,see my answer here
  • @ImClarky 是的,我下载了 4.0 版本。现在我也降级到 php 7.0 版,但它也不能正常工作。我不知道为什么会出现此错误。

标签: php sql-server sqlsrv


【解决方案1】:

您必须先安装 MSSQL 扩展并启用它们。不能开箱即用。您在示例中拥有的是 ODBC 驱动程序,但您的 PHP 版本需要处于无线程安全模式的 PHP 扩展。

找到正确的扩展有点复杂。否则,您可以尝试通过 ODBC 进行连接,但这会使一切变得更加复杂。

试试这个:

https://learninglaravel.net/microsoft-drivers-for-php-7-for-sql-server-is-now-available

【讨论】:

  • 感谢您的回答,但我已经这样做了。我把它添加到了ext文件夹中,并在php.ini文件中注册了它。
  • 你能检查扩展是否加载了吗?可能与 PHP 7.1 有所不同,但它无法正常工作。并确保您使用 Not Thread Safe 版本对不起我的错。
猜你喜欢
  • 2019-04-02
  • 2018-04-16
  • 2016-01-23
  • 2015-08-24
  • 2016-08-01
  • 2016-09-08
  • 2021-09-04
  • 2019-02-13
  • 2018-10-03
相关资源
最近更新 更多