php - 调用未定义的函数 sqlsrv_connect() - 故障排除

标签 php sql-server wordpress database-connection sqlsrv

系统信息

内容管理系统:WordPress

网络服务器:XAMPP

PHP 版本:5.5.30

微软管理工作室 17

目标

使用 PHP 建立 MSSQL 数据库连接

做了什么

  • 已下载 SQLSRV 驱动程序
  • 复制文件 php_pdo_sqlsrv_55_nts.dll php_pdo_sqlsrv_55_ts.dll 到目录 C:\xampp\php\ext
  • 在 php.ini 文件的动态扩展部分添加了以下几行:extension=php_pdo_sqlsrv_55_ts.dllextension=php_pdo_sqlsrv_55_nts.dll
  • 重启 Web 服务器
  • 确认 sqlsrv 列在 phpinfo()


  • 代码
    $serverName = "technology-pc\sqlexpress";
    
    // The connection will be attempted using Windows Authentication.
    $connectionInfo = array( "Database"=>"example_db");
    $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));
    }
    

    错误

    Call to undefined function sqlsrv_connect()

    最佳答案

    您已将 SQLSRV 驱动程序的 PDO 变体添加到扩展列表中,但尚未添加基本驱动程序 php_sqlsrv_55_ts.dll .

    在 php.ini 添加:

    extension=php_sqlsrv_55_ts.dll
    

    或者
    extension=php_sqlsrv_55_nts.dll
    

    此外,您确实应该使用驱动程序的线程安全 ( _ts.dll ) 或非线程安全 ( _nts.dll ) 版本,而不是两者。我相信,当您使用 Apache 服务器时,您应该使用线程安全版本。所以你的 php.ini 应该有:
    extension=php_sqlsrv_55_ts.dll
    extension=php_pdo_sqlsrv_55_ts.dll
    

    关于php - 调用未定义的函数 sqlsrv_connect() - 故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44677399/

    相关文章:

    php - 在 index.php 上编辑不会影响 wordpress 中的网页

    php - 在 Laravel(或一般的 PHP)中使用查询作为循环数据

    具有 "bad"日期条件的 Sql Server SELECT 语句

    php - 具有不同设计的两个数据库之间的映射

    sql-server - 在 Spring Boot 应用程序中连接到 azure ms sqlserver

    sql - 自动递增订单号(一张表多个公司)

    javascript - 将 grunt 与现有的 wordpress 实例一起使用

    WordPress - 根据网站时区显示当前日期和时间

    php - 找不到类 'HTML'(查看 : C:\xampp\htdocs\laravel_demo\resources\views\pages\registration. blade.php)

    php - 无法使用php连接到远程数据库