【问题标题】:Installing SQL Server driver for PHP为 PHP 安装 SQL Server 驱动程序
【发布时间】:2014-03-04 19:19:27
【问题描述】:

我已经安装了:

  1. Windows Server 2008 R2 x64
  2. IIS 7
  3. PHP 5.5 (5.5.9) VC11 x64 Non Thread Safe (2014-Feb-06 00:36:15)
  4. MSVC11 (Visual C++ 2012)
  5. Sql Server 2008
  6. Sql Native Client

除了 PHP 的 MSSQL 驱动程序外,一切都运行良好。我搜索了很多并下载了很多 dll 文件。每次我得到这个错误:

PHP 警告:PHP 启动:无法加载动态库 c:\php\ext\php_sqlsrv_54_nts.dll - %1 不是有效的 Win32 应用程序。 在第 0 行的未知中

谁能告诉我如何找到指定的驱动程序?提前致谢。

【问题讨论】:

标签: php sql-server iis


【解决方案1】:

文件名php_sqlsrv_54_nts.dll有线索

“54”指的是 PHP 5.4。 PHP 5.5 的 SQL 驱动程序(正式)尚不存在。

:(

有些人从事过非官方的构建,但我只会将它们用于本地测试。 Microsoft sqlsrv extension for php 5.5.x

目前官方版本仅适用于 5.4.x

【讨论】:

  • 谢谢大家。我将 php 降级到 5.3 版并修复了问题
【解决方案2】:

这是我博客中的一个页面,其中包含有关如何安装驱动程序的说明:http://robsphp.blogspot.com/2012/09/how-to-install-microsofts-sql-server.html

查找以橙色书写的文本,它指的是我构建的支持 PHP 5.5 32 和 64 位的驱动程序。

如果您只想要 Microsoft 的构建,请避免查看以橙色书写的任何内容。

【讨论】:

    【解决方案3】:

    分享我的一些发现:

    1. 架构很重要(x86 / x64)
    2. PHP 版本很重要
    3. 匹配的 SQL 驱动程序应该已安装。
    4. 请参考This Link,了解您的PHP版本是否支持该驱动程序(参考第一张表)。
    5. 请参考Rob's 回答以查找您的 PHP This is His Blog 的体系结构和 TS/NTS(线程安全/非线程安全)
    6. 这对我有用:我尝试使用 Wampp - 64 位,选择下载的 PHP 7.0.10 MYSQL Driver 5.3 版(注意:请参阅我提到的表格 - 第 4 点以获得正确的版本)
    7. 只保存了 64 位 TS(php_sqlsrv_7_ts_x64.dll、php_pdo_sqlsrv_7_ts_x64.dll),因为我的 php 是线程安全的(您可以通过参考第 5 点找到您的)到 E:\wamp64\bin\php\php7.0.10\ext文件夹。
    8. 将 extension=php_sqlsrv_7_ts_x64.dll 和 extension=php_pdo_sqlsrv_7_ts_x64.dll 添加到 php.ini,从 wampp 菜单 (E:\wamp64\bin\apache\apache2.4.23\bin\php.ini) 中选择。
    9. 重新启动 Wampp,它运行良好。
    10. 对于那些面临调用未定义函数 sqlsrv_connect() 的人也可以遵循此技术。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-24
      • 1970-01-01
      • 2016-04-23
      • 2019-01-26
      • 1970-01-01
      • 2020-01-24
      • 2016-05-18
      相关资源
      最近更新 更多