rms*_*ers 5 php sql-server pdo
我正在尝试让 mssql 驱动程序工作。我从微软下载了pdo驱动程序,将文件放入php_pdo_sqlsrv_7_nts_x64.dll并C:\Program Files\PHP\ext编辑php.ini以添加extension=php_pdo_sqlsrv_7_nts_x64.dll到其中。
这是结果:
$ php -v
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\PHP\ext\php_pdo_sqlsrv_7_nts_x64.dll' - The specified procedure could not be found.
in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\PHP\ext\php_sqlsrv_7_nts_x64.dll.dll' - The specified procedure could not be found.
in Unknown on line 0
PHP 7.1.6 (cli) (built: Jun 8 2017 01:53:41) ( ZTS MSVC14 (Visual C++ 2015) x64 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Run Code Online (Sandbox Code Playgroud)
可能与此重复: PHP 警告:PHP 启动:无法加载动态库 php_pdo_mssql.dll
但那个人从来没有回答过,而且已经四岁了。
就我而言,此错误(但具有不同的 DLL 版本)是由于将错误的 PHP SQL SLQSRV DLL 添加到我的 PHP 扩展而引起的:
我正在使用 XAMPP 的 PHP 7.2.21。
我添加了这些 DLL(包含在 SQLSRV561.exe 中):
我启用了php_pdo_sqlsrv_72_nts_x64.dllPHP 扩展,但nts dll 版本不适合我的 PHP 版本。当我启用ts dll 版本时,错误消失了。(我正在使用 IIS。)
线程安全 (TS) 和非线程安全 (NTS) 是两种不同的 PHP 版本。
查看发布信息是个好主意。
这样你就可以看到它支持什么版本。
https://github.com/Microsoft/msphpsql/releases
就我而言,mssql 驱动程序仍然是 php 最新稳定版本之后的一个小版本,因此我必须将 php 从 7.1 降级到 7.0。