【问题标题】:Connect to MS SQL Server 2008 with PHP running on XP / IIS使用在 XP / IIS 上运行的 PHP 连接到 MS SQL Server 2008
【发布时间】:2012-06-22 16:02:03
【问题描述】:

我正在尝试从运行 IIS 5.1 和 PHP 5.3 的 (LAN) XP 机器连接到 MSSQL 2008。

我试着按照这个答案https://stackoverflow.com/a/5432118

当我没有snapshot.txt 时问题就开始了,但是当我运行 IIS 和 PHP 作为 FastCGI 扩展时,我相当有信心我需要非线程安全的 dll 吗?

无论如何,我下载了SQLSRV30.EXE 并将php_sqlsrv_53_nts.dll 提取到我的ext 目录并将扩展名添加到我的php.ini。我还确认extension_dir 是正确的并在重新启动 IIS 之前安装了 Microsoft SQL Server 2008 R2 Native Client。

不幸的是,phpinfo() 没有将 sqlsrv 列为已加载的扩展,我现在完全迷路了,因此我们将不胜感激。

谢谢

【问题讨论】:

  • 您是否记得在任务管理器中反弹任何正在运行的php-cgi.exe 进程(IISRESET 应该在非生产机器上执行此操作)。如果您不这样做,FastCGI 会将请求传递给任何已经预热的 php-cgi.exe 进程,这些进程在您进行任何更改后不会重新读取您的 php.ini 文件。
  • 要尝试的另一件事是从命令行运行php.exe -i 并查看输出(它将输出phpinfo() 的基于文本的版本,没有所有HTML 标记)。如果您可以执行 php.exe -i > info.txt 并将其粘贴到 pastebin 将会很有帮助。

标签: php sql-server-2008 iis


【解决方案1】:

好的,所以我终于弄明白了,所以我想我会回来报告,希望能避免其他人头痛....

在我的php.ini 中,我设置了display_startup_errors = On,重新启动了 IIS 并重新加载了页面。在这一点上,我得到了一个神奇的信息,由于某种原因没有被添加到日志Fatal error: Unable to load Library........error: Access is denied

所以我导航到ext 目录并选择了扩展名

Right Click > Properties > Security

并添加了UsersPower Users 的权限 - 重新启动 IIS 并加载了繁荣的 sqlsrv。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    相关资源
    最近更新 更多