【问题标题】:Unable to load dynamic library php_sqlsrv_7_nts.dll is not a valid Win32 application无法加载动态库 php_sqlsrv_7_nts.dll 不是有效的 Win32 应用程序
【发布时间】:2016-08-04 05:49:54
【问题描述】:

我想看看是否有任何用于 php 7 的 sql server 驱动程序。Stack Overflow 上的另一个问题将我指向这些驱动程序here

所以我将 php_sqlsrv_7_nts.dll 安装到我的 ext 文件夹中,并将以下行添加到我的 php.ini 中:

extension=php_sqlsrv_7_nts.dll

我在运行的每个 php 脚本上都会收到此警告:

Warning: PHP Startup: Unable to load dynamic library 'C:\php7\ext\php_sqlsrv_7_nts.dll' - %1 is not a valid Win32 application

我意识到这只是一个预发布版本,还有很多事情需要解决,但我希望至少能做一些基本的事情。

我做错了什么,还是我需要再等一会儿才能发布更好的版本。

一些可能有用的信息:

PHP Version => 7.0.5

System => Windows NT GB275L-I-T-5654 6.3 build 9600 (Windows 8.1 Professional Edition) i586
Build Date => Mar 30 2016 09:57:56
Compiler => MSVC14 (Visual C++ 2015)
Architecture => x86
Configure Command => cscript /nologo configure.js  "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"

【问题讨论】:

    标签: php-7


    【解决方案1】:

    终于解决了。需要安装更多的东西才能工作,即:

    1. Microsoft Visual C++ 2015 Redistributable (x86),您可以从here获得它

    2. 您可以从here获得的ODBC驱动程序

    【讨论】:

      【解决方案2】:

      它对我有用。

      1.下载扩展windows 7.0 https://github.com/Microsoft/msphpsql/releases

      2.然后根据系统要求将其粘贴到ext文件夹中。 注意:仅粘贴线程安全版本 (php_pdo_sqlsrv_7_ts.dll , php_sqlsrv_7_ts.dll)

      3.编辑 php.ini 文件,将此扩展名添加到您的 php.ini 文件中并重新启动并检查

      【讨论】:

      • 请注意:将有 x64 和 x86 目录。在 Win 10 上,我使用 x86;请务必了解或尝试不同的版本
      【解决方案3】:

      Github MSPHPSQL releases 的扩展文件对我不起作用,并且给了我与 OP 相同的困境。我去了这个Microsoft article,它给了我driver (extension) for MSSQL Server,继续把它安装在一个你可以很容易找到的目录上,在我的例子中,我将它保存在我的c:\mssql-driver中,然后在里面获取适合的扩展(DLL)文件您的操作系统和 PHP 版本,就我而言,因为我使用的是 PHP 7.2.x 和 x64 Windows,所以我选择了以下文件并将其放入我的 PHP 扩展目录 c:\xampp\php\ext:

      1. php_pdo_sqlsrv_72_ts_x64.dll
      2. php_sqlsrv_72_ts_x64.dll

      在我位于c:\xampp\php\php.iniphp.ini 中,在动态扩展部分下定义了它:

      ;;;;;;;;;;;;;;;;;;;;;;
      ; Dynamic Extensions ;
      ;;;;;;;;;;;;;;;;;;;;;;
      ...
      extension=curl
      extension=php_pdo_sqlsrv_72_ts_x64.dll
      extension=php_sqlsrv_72_ts_x64.dll
      ...
      

      【讨论】:

        【解决方案4】:

        删除“php_sqlsrv_7_nts”上的“php_”。只需写“sqlsrv_7_ntfs”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-28
          • 2018-09-30
          • 1970-01-01
          • 1970-01-01
          • 2015-04-12
          • 2017-08-04
          • 2019-03-04
          相关资源
          最近更新 更多