【问题标题】:Microsoft PHP SQL Server Connection Issues - How To Troubleshoot What Is Being BlockedMicrosoft PHP SQL Server 连接问题 - 如何解决被阻止的问题
【发布时间】:2010-03-05 22:58:18
【问题描述】:

我正在通过 Windows 身份验证进行连接。我在本地系统上有两个网络服务器。 IIS 6.0 端口 80,Apache 80:80;我已经创建了一个 DSN 并已连接。我编写了简单的 ASP/VBS 脚本并与此 DSN 连接。

我尝试在 PHP 中使用 odbc_connect 来使用此 DSN,但失败了。然后我尝试了此处概述的连接:

http://msdn.microsoft.com/en-us/library/cc296161%28SQL.90%29.aspx

然后,我使用 ODBC 创建了一个本地 dsn,并验证了代码实际上可以在 Apache 上运行的 localhost 运行。

我的 IT 人员不会/不能在 SQL Server 上创建用户 ID/密码。问题是,如果我提出这个问题,他们会玩“出了什么问题”的游戏。我可以推断出什么是错误的(缺乏受信任的身份验证);但是,由于我无法查看此服务器端,因此我无法排除其他问题。

我认为我正在使用 DSN 进行连接,但它使用的凭据与我的网络浏览器中的 Windows 帐户不同。我试图运行 Fiddler 来运行它,但我没有看到任何东西跳出那里。

我确定这是一个“身份验证”问题或某些内容被阻止。我只是想看看在我和 IT 部门玩《暮光之城》之前是否还有其他我错过的东西或者可能被阻止的东西(或者在 Dora 世界的桥上讨厌的老侏儒......哈哈)。

【问题讨论】:

  • 请添加您从sqlsrv_errors() 获得的整个错误消息(可能减去机密数据)。

标签: php sql-server connection


【解决方案1】:

我有个坏消息要告诉你:Windows 身份验证很糟糕。确切的问题称为“double hop authentication”-google,您会发现很多人寻求帮助。他们中的一半会使用已经无法为您工作的东西来解决问题 - 而另一半显然从未解决过问题。

我最近为一位坚持所有内容都基于 Active Directory 和 Windows 身份验证的客户编写了一个外联网敏感数据收集应用程序。长话短说,整个项目停止了整整一个月,直到他们放弃并允许单个 SQL Server 登录以进行网络连接。没有其他工作。

经验教训:

  • 不要相信 M$ 销售手册中说的“正常工作”和“完美集成
  • 如果您忽略上述要点,将服务器连接到数据库的十分钟工作可能会变成一个月的大事
  • 下一个提出 AD 之类的客户可能会为迫使我再次使用 Microsoft 的产品而付出高昂的代价...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-04
    • 2021-07-14
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多