无法加载动态库 php_sqlsrv_7_nts.dll 不是有效的 Win32 应用程序
Unable to load dynamic library php_sqlsrv_7_nts.dll is not a valid Win32 application
我想看看是否有 php 7 的 sql 服务器驱动程序。Stack Overflow 上的另一个问题向我指出了这些驱动程序 here
所以我将 php_sqlsrv_7_nts.dll 安装到我的 ext 文件夹中,并将以下行添加到我的 php.ini:
extension=php_sqlsrv_7_nts.dll
我在每个 php 脚本上都收到此警告 I 运行:
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"
终于解决了这个问题。需要安装更多东西才能工作,即:
对我有用。
1.Download 扩展 windows 7.0
https://github.com/Microsoft/msphpsql/releases
2.And然后根据系统要求粘贴到ext文件夹。
注意:只粘贴线程安全版本(php_pdo_sqlsrv_7_ts.dll,php_sqlsrv_7_ts.dll)
3.And 编辑 php.ini 文件将此扩展名添加到您的 php.ini 文件并重新启动并检查
来自 Github MSPHPSQL releases did not work for me and gave me the same predicament with the OP. I went to this Microsoft article which gave me the driver (extension) for MSSQL Server 的扩展文件,继续将其安装在您可以轻松找到的目录中,在我的例子中,我将其保存在我的 c:\mssql-driver
中,然后在其中获取扩展 (DLL) 文件适合你的 OS 和 PHP 版本,在我的例子中,因为我使用 PHP 7.2.x 和 x64 Windows 我选择了以下文件并将其放入我的 PHP 扩展目录 c:\xampp\php\ext
:
- php_pdo_sqlsrv_72_ts_x64.dll
- php_sqlsrv_72_ts_x64.dll
并且在我位于 c:\xampp\php\php.ini
的 php.ini
中,在动态扩展部分下定义了它:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
...
extension=curl
extension=php_pdo_sqlsrv_72_ts_x64.dll
extension=php_sqlsrv_72_ts_x64.dll
...
删除“php_sqlsrv_7_nts”上的“php_”。只需写“sqlsrv_7_ntfs”
我想看看是否有 php 7 的 sql 服务器驱动程序。Stack Overflow 上的另一个问题向我指出了这些驱动程序 here
所以我将 php_sqlsrv_7_nts.dll 安装到我的 ext 文件夹中,并将以下行添加到我的 php.ini:
extension=php_sqlsrv_7_nts.dll
我在每个 php 脚本上都收到此警告 I 运行:
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"
终于解决了这个问题。需要安装更多东西才能工作,即:
对我有用。
1.Download 扩展 windows 7.0 https://github.com/Microsoft/msphpsql/releases
2.And然后根据系统要求粘贴到ext文件夹。 注意:只粘贴线程安全版本(php_pdo_sqlsrv_7_ts.dll,php_sqlsrv_7_ts.dll)
3.And 编辑 php.ini 文件将此扩展名添加到您的 php.ini 文件并重新启动并检查
来自 Github MSPHPSQL releases did not work for me and gave me the same predicament with the OP. I went to this Microsoft article which gave me the driver (extension) for MSSQL Server 的扩展文件,继续将其安装在您可以轻松找到的目录中,在我的例子中,我将其保存在我的 c:\mssql-driver
中,然后在其中获取扩展 (DLL) 文件适合你的 OS 和 PHP 版本,在我的例子中,因为我使用 PHP 7.2.x 和 x64 Windows 我选择了以下文件并将其放入我的 PHP 扩展目录 c:\xampp\php\ext
:
- php_pdo_sqlsrv_72_ts_x64.dll
- php_sqlsrv_72_ts_x64.dll
并且在我位于 c:\xampp\php\php.ini
的 php.ini
中,在动态扩展部分下定义了它:
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
...
extension=curl
extension=php_pdo_sqlsrv_72_ts_x64.dll
extension=php_sqlsrv_72_ts_x64.dll
...
删除“php_sqlsrv_7_nts”上的“php_”。只需写“sqlsrv_7_ntfs”