以为我会看看是否有任何针对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"
答案 0 :(得分:6)
终于解决了这个问题。需要在它工作之前安装更多的东西,即:
答案 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} }:
并在位于 c:\xampp\php\ext
的我的 php.ini
中在动态扩展部分下定义它:
c:\xampp\php\php.ini
答案 3 :(得分:0)
删除“php_sqlsrv_7_nts”上的“php_”。只写“sqlsrv_7_ntfs”