无法加载动态库php_sqlsrv_7_nts.dll不是有效的Win32应用程序

时间:2016-04-13 08:51:19

标签: php-7

以为我会看看是否有任何针对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"

4 个答案:

答案 0 :(得分:6)

终于解决了这个问题。需要在它工作之前安装更多的东西,即:

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

  2. 您可以从here

  3. 获取的ODBC驱动程序

答案 1 :(得分:3)

它对我有用。

1.下载扩展程序窗口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文件中,然后重新启动并检查

答案 2 :(得分:0)

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

  1. php_pdo_sqlsrv_72_ts_x64.dll
  2. php_sqlsrv_72_ts_x64.dll

并在位于 c:\xampp\php\ext 的我的 php.ini 中在动态扩展部分下定义它:

c:\xampp\php\php.ini

答案 3 :(得分:0)

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