Php 未捕获错误:调用XAMPP中未定义的函数sqlsrv_connect()
我正试图用PHP连接到SQL Server,但不幸的是,它无法自行调用该函数。我安装了驱动程序(DLL)以及来自此站点的驱动程序: 我收到以下信息:Php 未捕获错误:调用XAMPP中未定义的函数sqlsrv_connect(),php,sql-server,sqlsrv,Php,Sql Server,Sqlsrv,我正试图用PHP连接到SQL Server,但不幸的是,它无法自行调用该函数。我安装了驱动程序(DLL)以及来自此站点的驱动程序: 我收到以下信息: Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in .... 我使用XAMPP和最新的PHP版本7.1.1运行本地服务器 更新: 我检查了扩展是否在PHP中加载: var_dump(extension_loaded ("php_sqlsrv_7_n
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)
返回。您必须首先安装MSSQL扩展并启用它们。这台机器不是开箱即用的。您的示例中有ODBC驱动程序,但是您的PHP版本需要在非线程安全模式下使用PHP扩展
找到正确的扩展有点复杂。否则,您可以尝试通过ODBC进行连接,但这会使一切变得更加复杂
试试这个:
您必须首先安装MSSQL扩展并启用它们。这台机器不是开箱即用的。您的示例中有ODBC驱动程序,但是您的PHP版本需要在非线程安全模式下使用PHP扩展 找到正确的扩展有点复杂。否则,您可以尝试通过ODBC进行连接,但这会使一切变得更加复杂 试试这个:
谢谢你的回答,但我已经回答了。我将其添加到ext文件夹并在php.ini文件中注册。您能检查扩展名是否已加载吗?PHP7.1可能有不同之处,但不起作用。请确保您使用的是非线程安全版本对不起,我的错误。谢谢您的回答,但我已经这样做了。我将其添加到ext文件夹并在php.ini文件中注册。您能检查扩展名是否已加载吗?PHP7.1可能有不同之处,但不起作用。请确保您使用的是非线程安全版本对不起,我的错误。您是否重置了服务器?您的意思是简单地重新启动?是的,我也这么做了。是的,这就是我的意思。。。。这将帮助您解决一个小问题:您是否使用SQLSRV4.0(从Microsoft网站下载)?如果是这样,@ImClarky是的,我下载了4.0版本。现在我也降级到了php 7.0版,但效果不太好。我不知道为什么会出现这个错误。你重置服务器了吗?你是说简单的重启吗?是的,我也这么做了。是的,这就是我的意思。。。。这将帮助您解决一个小问题:您是否使用SQLSRV4.0(从Microsoft网站下载)?如果是这样,@ImClarky是的,我下载了4.0版本。现在我也降级到了php 7.0版,但效果不太好。我不知道为什么会出现这个错误。