在 xampp 中调用未定义的函数 sqlsrv_connect()

Posted

技术标签:

【中文标题】在 xampp 中调用未定义的函数 sqlsrv_connect()【英文标题】:Call to undefined function sqlsrv_connect() in xampp 【发布时间】:2016-01-23 16:01:45 【问题描述】:

当我尝试在 codeigniter 中连接 sqlsrv 服务器时,收到此错误消息。

在 xampp 中调用未定义函数 sqlsrv_connect()

下面是database.php中的代码

$db['default'] = array(
'dsn'   => '',
'hostname' => 'MainDS\WTInfoUnit',
'username' => 'sa',
'password' => 'crafter',
'database' => 'Biostar_DoorLog',
'dbdriver' => 'sqlsrv',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE

谁能帮忙?

【问题讨论】:

【参考方案1】:
    找出你正在使用的 PHP 版本。Download 适用于 SQL Server 的 PHP 的 Microsoft 驱动程序 在知道您需要哪个版本的驱动程序后,根据 PHP 的版本,只需将该 DLL 文件复制到 PHP 安装的 EXT 子文件夹中。我想 woule 是 c:\php5\ext 编辑您的 php.ini 文件。它应该驻留在您的 c:\Windows 或 c:\php5 文件夹中(同样基于 PHP 安装)。您可以从 PHP Info 函数输出 (phpinfo()) 再次检查该文件的加载位置,有这样一行: 加载配置文件 C:\php5\php.ini 编辑 php.ini 以加载适当的文件后,重新启动 Web 服务器以使其重新加载新的 php.ini 再次检查 phpinfo() 的输出! 重复 1 到 4,直到在 phpinfo() 输出的“Registered PHP Streams”行中看到“sqlsvr”。

您的驱动程序未正确加载,您不会看到任何警告(除了“调用未定义函数”的致命错误),直到您在 phpinfo( )。

更多这些是一些 SO 链接:

Connect sqlsrv in Xampp

Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs

希望对你有帮助

【讨论】:

谢谢。现在我修复了上述错误,但现在我面临新的“无法使用提供的设置连接到您的数据库服务器”的问题。文件名:D:/xampp/htdocs/doorlock/application/controllers/login.php 行号:7' @JWayne 可能是由于数据库凭据问题检查用户名密码等 我查过了。但我无法连接。怎么想的 @JWayne 请编辑您的问题并发布 login.php 代码【参考方案2】:

为了能够使用 sqlsrv_* 函数,您需要有用于 PHP 的 Microsoft SQL Server 驱动程序。 SQL Server 驱动程序默认不包含在 PHP 包中,开发者需要将它们添加到他们的 php 安装中。

按照 Microsoft 指南安装 SQL Server Driver for PHP:

https://msdn.microsoft.com/en-us/library/cc296203%28v=sql.105%29.aspx

您可以从 Microsoft 网站下载驱动程序:

https://www.microsoft.com/en-us/download/details.aspx?id=20098

让您在 php.ini 中引用正确的 php_sqlsrv_YOUR_PHP_VERSION_ts.dll

-谢谢

【讨论】:

以上是关于在 xampp 中调用未定义的函数 sqlsrv_connect()的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的错误:在 XAMPP 中调用未定义的函数 sqlsrv_connect()

php:致命错误:调用未定义函数 sqlsrv_connect()

致命错误:未捕获的错误:调用 C:\xampp\htdocs\DBtest\sqlsrv.php:7 中的函数 sqlsrv_connect() 堆栈跟踪:#0 main SQLSERVER

PHP IIS7 MSSQL调用未定义的函数sqlsrv_connect

Wamp中的“调用未定义函数sqlsrv_connect()”,已安装驱动程序[重复]

调用未定义的函数 sqlsrv_connect() ubuntu