IIS上的PHP不';t加载sqlsrv扩展

IIS上的PHP不';t加载sqlsrv扩展,php,sql-server,iis,sqlsrv,Php,Sql Server,Iis,Sqlsrv,我正在尝试创建一个页面,该页面可以通过PHP将表单中的数据提交到MSSQL数据库。我已经成功安装了PHP(phpinfo()即使在远程计算机上也可以正常运行),但它不会加载。我知道我正在编辑正确的php.ini文件,因为我添加了另一个扩展名(wincache),并且加载良好,通过phpinfo()和get\u loaded\u extensions()确认 日志没有告诉我任何事情。IIS上的PHP管理器告诉我sqlsrv扩展文件已启用。我重新启动了网站、服务器和计算机,但一切都不正常 我在Win

我正在尝试创建一个页面,该页面可以通过PHP将表单中的数据提交到MSSQL数据库。我已经成功安装了PHP(
phpinfo()
即使在远程计算机上也可以正常运行),但它不会加载。我知道我正在编辑正确的
php.ini
文件,因为我添加了另一个扩展名(wincache),并且加载良好,通过
phpinfo()
get\u loaded\u extensions()
确认

日志没有告诉我任何事情。IIS上的PHP管理器告诉我sqlsrv扩展文件已启用。我重新启动了网站、服务器和计算机,但一切都不正常

我在Windows7 Ultimate机器上使用PHP7.1.1。它在x64模式下运行,非线程安全。我已经确保我启用的扩展文件是x64,非线程安全的。我不知道还有什么需要检查,或者我需要提供更多的信息

编辑:我按照建议运行了
php cgi.exe
,结果出现了错误消息:

[31-Mar-2017 22:38:12 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\Program Files\iis express\PHP\v7.1\ext\php_sqlsrv_7_nts_x64.dll' - The specified procedure could not be found.
 in Unknown on line 0
[31-Mar-2017 22:38:17 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\Program Files\iis express\PHP\v7.1\ext\php_pdo_sqlsrv_7_nts_x64.dll' - The specified procedure could not be found.
 in Unknown on line 0
这是否意味着问题出在扩展DLL本身?我该怎么解决这个问题呢

edit2:ImClarky解决了这个问题,因为我显然使用了一种过时的扩展版本。我已经让它工作了,但现在我的身份验证失败了,原因我不明白:

function connect_sql() {
    /* Specify server and connection attributes */
    $serverName = "(local)";

    /* Get UID and PWD from app-specific files */
    $uid = file_get_contents("C:\AppData\uid.txt");
    $pwd = file_get_contents("C:\AppData\pwd.txt");
    $connectionInfo = array("UID" => $uid,
                            "PWD" => $pwd,
                            "Database" => "database_name");

    /* Connect using SQL Server Auth */
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if ($conn === false)
    {
        echo "Unable to connect.</br>";
        //die(print_r(sqlsrv_errors(), true));
        die(print_errors());
    }
    else {
        echo "Connection Successful";
    }

    /* Free connection resources */
    sqlsrv_close($conn);
}

确保为php.ini使用的扩展文件夹添加.dll文件

还选择了与您运行的PHP相匹配的正确的SQLSRv驱动程序


SQLSRv

您正在运行哪个版本的SQLSRv?来自codeplex的那个很旧。。。现在是最新版本的位置。除了前面的注释,如果需要新版本,请确保下载版本4.1.3或更高版本。以前的版本不支持PHP7.1。@ImClarky似乎做到了这一点,但现在我得到了身份验证错误。我觉得自己像个白痴一样被错误缠住了,但我已经确保在连接脚本中有正确的用户名和密码。我使用的例子来自。我将用脚本和错误消息编辑我的问题。
Unable to connect.

SQLSTATE: 28000
code: 18456
message: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'username'.

SQLSTATE: 28000
code: 18456
message: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user 'username'.