gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:23:41 25 4
gpt4 key购买 nike

系统信息

内容管理系统: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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com