PHP PDO 连接到具有集成安全性的 SQL Server?

发布于 2024-07-19 02:24:33 字数 281 浏览 3 评论 0原文

我可以使用 PDO 和使用 mssql 驱动程序的集成安全性连接到 SQL Server 2008 吗? 目前正在执行类似的操作以正常连接:

$db = new PDO("mssql:host=host;dbname=db", "user", "pass"); 

使用 SQL Server 身份验证可以正常工作,但是必须为大量数据库创建 SQL Server 登录名很痛苦,因此如果可能的话,最好使用集成安全性。 我在 Windows 上将 PHP 作为 CLI 运行。

Can I connect to SQL Server 2008 using PDO and integrated security using the mssql driver? Currently doing something like this to connect normally:

$db = new PDO("mssql:host=host;dbname=db", "user", "pass"); 

This works fine using SQL Server authentication, but it is a pain having to create SQL server logins for loads of databases, so it would be nice to use integrated security if possible. I am running PHP as CLI on Windows.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甚是思念 2024-07-26 02:24:33

该网站帮助:
SQL Server PHP 驱动程序:了解 Windows 身份验证

解决我的问题的要点是:

  • 启用 Windows 身份验证
  • 禁用匿名身份验证
  • 从 PDO 连接中删除用户名和密码
$conn = new PDO( "sqlsrv:server=$serverName ; Database=$dbName" );

我的测试是使用 2010 年 6 月发布的最新驱动程序(SQL Server 驱动程序)对于 PHP 2.0 CTP2)。

This site helped:
SQL Server Driver for PHP: Understanding Windows Authentication

The gist of it that fixed my issue was:

  • Enable Windows Authentication
  • Disable Anonymous Authentication
  • remove the username and password from the PDO connection
$conn = new PDO( "sqlsrv:server=$serverName ; Database=$dbName" );

My testing was with the newest driver released June 2010 (SQL Server Driver for PHP 2.0 CTP2).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文