php sqlsrv connect,php-使用Windows身份验证通过sqlsrv_connect连接到SQL Server

使用Microsoft的PHP驱动程序连接到SQL Server的official guide看起来非常简单,因此我在很大程度上复制了文本:

$server = "serverlocation\prod";

$database = array( "Database"=>"temp");

$conn = sqlsrv_connect($server, $database);

echo "

";

if ( $conn ) {

echo "Connection established";

} else {

echo "Connection could not be established.
";

die( print_r( sqlsrv_errors(), true));

}

运行代码时,出现以下错误:

Connection could not be established.

Array

(

[0] => Array

(

[0] => 28000

[SQLSTATE] => 28000

[1] => 18456

[code] => 18456

[2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user '*****DOMAIN\MY_MACHINE_NAME*****'.

[message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user '*****DOMAIN\MY_MACHINE_NAME*****'.

)

我在错误消息(是Windows计算机)中列出的计算机名称上运行此代码,但是列出的计算机名称不是我登录时所使用的用户帐户.拥有该数据库的权限(并且我可以使用MS SQL Server Managment Studio很好地连接到它…),但是当我尝试使用此脚本进行连接时,它将显示我的计算机名而不是我的用户帐户.

我究竟做错了什么?

解决方法:

假设您正在通过网络运行它:

>您应该使用IIS,而不是Apache†

> IIS必须启用Windows身份验证

>必须禁用匿名身份验证

>您必须在php.ini中设置fastcgi.impersonate = 1

假设您登录的帐户被SQL Server识别,那么您应该可以使用.有关完整的讨论,请参见this page.

标签:php,sql-server

来源: https://codeday.me/bug/20191012/1903797.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值