PHP 使用 windows 帐户连接到 SQL 服务器

PHP connect to SQL server with a windows account

我正在尝试使用 windows 帐户连接到 SQL 服务器数据库。在 sql managment studio 中,我可以使用此帐户打开数据库,但不能使用我的 php 应用程序。此用户不是 sql 用户,但他对 SQL 数据库拥有权限。

我尝试使用 sql 用户,它适用于我的 php 应用程序。

是否可以通过 php 应用程序使用我的 windows 帐户,而不是特定的 sql 用户?

有一部分代码带有连接字符串,您可以在其中为 PHP 提供实例名称、登录名、密码等以连接到 MS SQL。您可以从 windows 域更改凭据上的连接字符串。但它可以用于测试但不能用于生产:)

另一种方法是将 PHP 连接到您的广告并让用户在访问您的网站时从域输入 login/pass。例如,它只是在 IIS 中完成(我没有在 Linux 上运行的 PHP 上使用域身份验证,但据我所知,LDAP 可以帮助 you)。

sqlsrv_connect

默认情况下,它会尝试与 Windows 身份验证建立连接。你可以试试下面的片段。如果您必须使用定义的 Windows 用户登录,请尝试上面文档 link 中的代码。

$serverName = "serverName\sqlexpress"; //serverName\instanceName

// The connection will be attempted using Windows Authentication.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}