我可以使用 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/