安装用于PHP的SQL Server驱动程序

安装用于PHP的SQL Server驱动程序,php,sql-server,iis,Php,Sql Server,Iis,我已安装: Windows Server 2008 R2 x64 IIS 7 MVC11(Visual C++ 2012)< /LI> Sql Server 2008 除了用于PHP的MSSQL驱动程序外,其他一切都运行良好。我在谷歌上搜索了很多,下载了很多dll文件。每次我遇到这个错误: PHP警告:PHP启动:无法加载动态库c:\PHP\ext\PHP\u sqlsrv\u 54\u nts.dll-%1不是有效的Win32应用程序。 在第0行的未知位置 有人能告诉我怎样才能找到指定的

我已安装:

  • Windows Server 2008 R2 x64
  • IIS 7
  • MVC11(Visual C++ 2012)< /LI>
  • Sql Server 2008
  • 除了用于PHP的MSSQL驱动程序外,其他一切都运行良好。我在谷歌上搜索了很多,下载了很多
    dll
    文件。每次我遇到这个错误:

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


    有人能告诉我怎样才能找到指定的驱动程序吗?提前感谢。

    文件名php\u sqlsrv\u 54\u nts.dll中有一条线索

    “54”指的是PHP5.4。PHP5.5的SQL驱动程序(官方)还不存在

    :(

    有些人在非官方版本上工作,但我只在本地测试中使用它们。


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

    以下是我博客中的一个页面,介绍了如何安装驱动程序:

    请查找用橙色编写的文本,它指的是我构建的支持PHP5.532和64位的驱动程序


    如果您只想要Microsoft的版本,请避免查看任何用橙色书写的内容。

    分享我的一些发现:

  • 体系结构重要事项(x86/x64)
  • PHP版本非常重要
  • 应安装匹配的SQL驱动程序
  • 请参阅查找您的PHP版本是否支持该驱动程序(请参阅第一个表)
  • 参考答案以查找您的体系结构和PHP的TS/NTS(线程安全/非线程安全)
  • 这对我来说是可行的:我尝试使用Wampp-64位,选择PHP7.0.10下载的版本5.3(注意:请参阅我提到的表-4点以获得正确的版本)
  • 因为我的php是线程安全的(您可以参考第5点)所以只保存了64位TS(php_sqlsrv_7_TS_x64.dll、php_pdo_sqlsrv_7_TS_x64.dll)到E:\wamp64\bin\php\php7.0.10\ext文件夹中
  • 将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)
  • 重新启动了Wampp,并且工作正常
  • 对于那些面临调用未定义函数sqlsrv_connect()的用户,也可以使用此技术

  • 你使用的是32位还是64位版本的PHP?我正在编辑它。它是64位版本。你安装了本机客户端吗?我编辑了我的帖子。我也安装了它。你可以看到我从《谢谢大家》的可能副本中获得的链接。我将PHP降级为5.3版并修复了问题