PHP:使用域用户和密码连接到MS SQL Server
我有WAMP,正在尝试通过使用以下PHP命令输入域用户和密码连接到我的SQL Server 2008数据库:PHP:使用域用户和密码连接到MS SQL Server,php,sql-server,wamp,Php,Sql Server,Wamp,我有WAMP,正在尝试通过使用以下PHP命令输入域用户和密码连接到我的SQL Server 2008数据库: $serverName = "MySQLServer\Instance"; //serverName\instanceName $connectionInfo = array( "Database"=>"dbName", "UID"=>"myADUserName", "PWD"=>"MyPassword"); $con
$serverName = "MySQLServer\Instance"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName",
"UID"=>"myADUserName", "PWD"=>"MyPassword");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
据我所知,它正在尝试与SQL Server创建的用户进行身份验证,而不是从Active Directory进行身份验证,因此我收到以下错误消息:
Array ( [0] =>
Array ( [0] => 28000 [SQLSTATE] => 28000
[1] => 18456 [code] => 18456
[2] => [Microsoft][SQL Server Native Client 10.0]
[SQL Server]Login failed for user 'myADUserName'.
[message] => [Microsoft]
[SQL Server Native Client 10.0]
[SQL Server]Login failed for user 'myADUserName'.
)
[1] =>
Array ( [0] => 28000 [SQLSTATE] => 28000
[1] => 18456 [code] => 18456
[2] => [Microsoft][SQL Server Native Client 10.0]
[SQL Server]Login failed for user 'myADUserName'.
[message] => [Microsoft]
[SQL Server Native Client 10.0]
[SQL Server]Login failed for user 'myADUserName'.
)
)
这在PHP和WAMP中是可能的吗
我已经读过关于将万帕切服务中的登录帐户更改为myADUserName的内容,但是用户在服务器上没有访问管理员权限,因此我不想将一个帐户绑定到我的所有PHP应用程序。当您分配“UID”=>“myADUserName”,“PWD”=>“MyPassword”时
您使用的是sql身份验证,而不是Windows身份验证。
但是您可以将用户/pwd组合创建到
当您想要使用时,不需要指定uid和pwd。身份验证取自正在运行的apache进程。一个需要运行到该windows帐户的诅咒
看
备注如果在中未指定UID和PWD键的值
可选$connectionInfo参数,将尝试连接
使用Windows身份验证。有关连接到的详细信息,请参见
服务器,请参见如何:使用连接和如何连接
到:使用连接
看起来很奇怪,但这个对我有用
$dbName='dB-Name';
$dbUser='User1';
$dbPass='B4X345ZXsaoi0omkLH';
$connectionInfo = array( "Database"=>$dbName, "UID"=>$dbUser, "PWD"=>$dbPass);
如果您使用的是SQLSERVER,这将无法与PHP5.5一起使用(我使用的是这个版本,没有测试任何其他版本)
你解决问题了吗?这不完全是我想要的,但我最终在Active Directory中创建了一个服务帐户,并将其分配给wampapache服务,使其启动。但这是使用windows身份验证的正确方法。当你想使用windows身份验证时,不需要指定uid和pwd+1.
$connectionInfo = array( "Database"=>"DBName", "UID"=>"User1", "PWD"=>"B4X345ZXsaoi0kLH");