我有WAMP并且正在尝试通过使用以下PHP命令输入域用户和密码来连接到我的SQL Server 2008数据库:
$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?
我已经读过将wampapache服务中的登录帐户更改为myADUserName,但是用户在服务器上没有访问权限管理员权限以允许此操作,我不想将一个帐户绑定到我的所有PHP应用
答案 0 :(得分:1)
分配"UID"=>"myADUserName", "PWD"=>"MyPassword"
时,您使用的是sql身份验证,而不是Windows身份验证。
但您可以在sql-server as sql-login -> SQL Server Authentication。
如果您想使用windows authentication,则无需指定uid和pwd。身份验证来自正在运行的apache进程。诅咒,一个人需要进入该帐户。
备注如果未在中指定UID和PWD键的值 可选的$ connectionInfo参数,将尝试连接 使用Windows身份验证。有关连接的更多信息 服务器,请参见如何:使用Windows Authentication和如何连接 to:使用SQL Server Authentication连接。
答案 1 :(得分:0)
看起来很奇怪,但这个对我有用,
$dbName='dB-Name';
$dbUser='User1';
$dbPass='B4X345ZXsaoi0omkLH';
$connectionInfo = array( "Database"=>$dbName, "UID"=>$dbUser, "PWD"=>$dbPass);
如果您使用的是SQLSERVER,这将不适用于PHP 5.5(我使用的是这个版本没有测试任何其他版本)
$connectionInfo = array( "Database"=>"DBName", "UID"=>"User1", "PWD"=>"B4X345ZXsaoi0kLH");