【问题标题】:php starup sqlsrv unable to initialize modulephp startup sqlsrv 无法初始化模块
【发布时间】:2012-08-22 16:39:32
【问题描述】:

我正在尝试将 MSSQL 连接到 PHP。我正在关注this 教程。无论如何,在我按照该教程中的描述添加 dll 文件后,我收到以下警告。我该如何解决这个问题?

php starup sqlsrv unable to initialize module module compiled with module api=20090626 php compiled with module api=20020520 these options need to match

注意:我已经完成了这个post,但没有任何帮助。

【问题讨论】:

    标签: php sql sql-server


    【解决方案1】:

    看起来您已尝试在 php 5.2 系统上安装 php 5.3 的 sqlsrv 扩展。

    运行 <?php phpinfo(); ?> 并查找 php 版本并查找以下条目:

    • PHP 版本
    • 线程安全

    从 sqlsrv 驱动程序中选择适当的 .dll:版本号必须匹配,如果启用了线程安全,则选择 ts 版本,如果没有选择 nts 版本。

    【讨论】:

    • 它是 5.4.4 并且启用了线程安全。我可以从哪里获得正确的 DLL?
    • 您链接到的教程包含指向驱动程序包的链接。这个包包含一个文件 php_sqlsrv_54_ts.dll 听起来不错。
    • 是的,添加后我收到以下错误This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86。我该如何解决这个问题?
    • 按照错误消息中的说明进行操作。下载本机客户端并安装。
    • 要回复@lllep 评论,如果您使用 SQLSRV 3.1/3.2 for PHP5.5/5.6,您需要从:microsoft.com/download/details.aspx?id=36434 下载 OCBC 驱动程序。
    【解决方案2】:

    对于任何试图让它与 PHP 5.5 一起工作的人(PHP 使用模块 API=20121212 编译),您可以将 ext 文件夹中的 dll 替换为新的更新二进制文件 >here<

    不要忘记在 php 配置中启用新的 dll。

    【讨论】:

      猜你喜欢
      • 2016-01-01
      • 1970-01-01
      • 2014-11-17
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 2013-09-03
      相关资源
      最近更新 更多