【发布时间】:2015-06-20 13:38:23
【问题描述】:
我做了很多研究,试图让我的 PHP 代码托管在 IIS 上以连接到我的 MSSQL 数据库。我似乎无法弄清楚这个问题。有没有人遇到过这个?
<?php
$serverName = 'AEGIS-PC\SQLEXPRESS';
$connectionInfo=array('Database'=>'tttb_db');
$con = sqlsrv_connect($serverName, $connectionInfo);
if($con){
echo 'Connection established<br />';
}
else {
echo 'Connection failed<br />';
die(print_r(sqlsrv_errors(), TRUE));
}
?>
更新,我们有一个新错误:
连接失败 Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][ SQL Server]用户“NT AUTHORITY\IUSR”登录失败。[消息] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]用户“NT AUTHORITY\IUSR”登录失败。)[1] = > Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]无法打开数据库登录请求的“tttb_db”。登录失败。[消息] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]无法打开登录请求的数据库“tttb_db”。登录失败。)[2 ] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]登录用户“NT AUTHORITY\IUSR”失败。[消息] => [Microsoft][SQL Server 的 ODBC 驱动程序 11][SQL Server]用户“NT AUTHORITY\IUSR”登录失败。)[3] => 数组([ 0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]无法打开登录请求的数据库“tttb_db”。登录失败。 [消息] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]无法打开登录请求的数据库“tttb_db”。登录失败。 ))
我们的 SQL 服务器正在使用 Windows 身份验证,我们的服务器名称是 AEGIS-PC\SQLEXPRESS,用户名和密码块显示为灰色。我想不出我们登录失败的原因。我们做错了什么?
【问题讨论】:
-
你能证明你的 IIS 服务器运行的代码是 PHP 吗?尝试创建一个只有
<?php phpinfo(); ?>的页面,并确保正在显示信息屏幕。 -
你的代码是否开启了错误报告?
-
您是否检查过 PHP 正在您的计算机上运行,并且您有必要的 PHP 扩展来连接到 SQL Server?你运行的是什么版本的PHP?在您的代码中添加
phpinfo();以查看扩展。 -
我已经安装了 PHP。我可以在屏幕上显示简单的变量,所以我知道 IIS 正在运行 PHP。该脚本在到达数据库部分时似乎中断了。
-
您的第二个示例没有返回
die()语句?
标签: php sql-server sql-server-2012