Php 调用未定义的函数sqlsrv_connect()-疑难解答

Php 调用未定义的函数sqlsrv_connect()-疑难解答,php,sql-server,wordpress,database-connection,sqlsrv,Php,Sql Server,Wordpress,Database Connection,Sqlsrv,系统信息 CMS:Wordpress Web服务器:XAMPP PHP版本:5.5.30 MS管理工作室17 目标 使用PHP建立MSSQL数据库连接 已经做了什么 $serverName = "technology-pc\sqlexpress"; // The connection will be attempted using Windows Authentication. $connectionInfo = array( "Database"=>"example_db"); $co

系统信息

CMS:Wordpress

Web服务器:XAMPP

PHP版本:5.5.30

MS管理工作室17

目标

使用PHP建立MSSQL数据库连接

已经做了什么

$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));
}
  • 下载的SQLSRV驱动程序
  • 将文件php_pdo_sqlsrv_55_nts.dllphp_pdo_sqlsrv_55_ts.dll复制到目录
    C:\xampp\php\ext
  • 在php.ini文件的动态扩展部分中添加了以下行:
    extension=php\u pdo\u sqlsrv\u 55\ts.dll
    extension=php\u pdo\u sqlsrv\u 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));
    }
    
    $serverName=“技术pc\sqlexpress”;
    //将使用Windows身份验证尝试连接。
    $connectionInfo=数组(“数据库”=>“示例数据库”);
    $conn=sqlsrv_connect($serverName,$connectionInfo);
    如果($conn){
    回显“已建立连接。
    ”; }否则{ echo“无法建立连接。
    ”; 模具(打印错误(sqlsrv_errors(),true)); }
    错误

    调用未定义的函数sqlsrv_connect()


    您可能编辑了错误的php.ini文件。用php信息检查正确的php.ini文件

    您可以使用以下脚本:

    <?php echo phpinfo(); ?>
    
    
    
    或者,如果您使用CLI访问类型php-i来获取列出的信息。
    检查php.ini文件的正确路径。

    尝试以下代码连接mssql数据库

    $server = 'dburl.com\MSSQLSERVER, 1433';
    $username = 'uname';
    $password = 'password';
    
    $connectionInfo = array( "Database"=>$database, "UID"=>$username, "PWD"=>$password,"ReturnDatesAsStrings"=>true);
    $conn = sqlsrv_connect( $server, $connectionInfo);
    

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

    添加到php.ini中:

    extension=php_sqlsrv_55_ts.dll
    


    此外,您确实应该使用驱动程序的线程安全(
    \ts.dll
    )或非线程安全(
    \nts.dll
    )版本,而不是两者都使用。我认为,在使用Apache服务器时,应该使用线程安全版本。因此,php.ini应该具有:

    extension=php_sqlsrv_55_ts.dll
    extension=php_pdo_sqlsrv_55_ts.dll
    

    谢谢你提醒我这件事。它现在工作得很好。