【问题标题】:PHP connect to SQL server with a windows accountPHP 使用 Windows 帐户连接到 SQL Server
【发布时间】:2016-05-24 07:46:01
【问题描述】:

我正在尝试使用 Windows 帐户连接到 SQL Server 数据库。在 sql 管理工作室,我可以用这个帐户打开数据库,但不能用我的 php 应用程序。该用户不是sql用户,但对SQL数据库有权限。

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

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

【问题讨论】:

    标签: php sql-server windows management-studio-express


    【解决方案1】:

    sqlsrv_connect

    默认情况下,它会尝试使用 Windows Auth 建立连接。你可以试试下面的截图。如果您必须使用定义的 WindowsUser 登录,请尝试上面文档链接中的代码。

    $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));
    }
    

    【讨论】:

    • 一个补充 为了使用 Windows 身份验证(在 Windows 上)进行 Wamp/Xamp 安装连接,您应该验证 apache 服务是否在可以连接到 SQL Server 的用户下运行,而不是在本地用户。 :)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-11
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多