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

标签 php sql-server pdo

我可以使用 mssql 驱动程序使用 PDO 和集成安全连接到 SQL Server 2008 吗?目前正在做这样的事情来正常连接:

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

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

最佳答案

这个网站帮助: SQL Server Driver for PHP: Understanding Windows Authentication

解决我的问题的要点是:

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

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

关于具有集成安全性的 PHP PDO 连接到 SQL Server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/857194/

相关文章:

php - 为什么 TCP 工作,而 UDP 不工作?

php - PHP str_replace 是否有超过 13 个字符的限制?

php - 伪造文件扩展名

php - Laravel Backpack - 显示关系函数中的特定属性

sql-server - 使用 Microsoft.ACE.OLEDB.12.0 将 Excel 导入 SQL Server

java - Android 上有对 sql server Compact 的支持吗?

mysql - mysql 选择查询中的别名

mysql - 准备好的语句相对于 PDO::quote 的安全优势

php - 如何在 PHP PDO 中简单地将一个值绑定(bind)到所有参数?

php-mysql-pdo : execute not working after prepare when inserting