php - 找不到驱动程序 sqlsrv PHP 8.0.1
问题描述
我目前正在尝试启用 pdo_sqlsrv 扩展。
我从这里下载了驱动程序:https ://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver15
然后将它们添加到文件夹 php/ext/
之后,我将以下行添加到 php.ini
extension=php_sqlsrv_72_ts.dll
错误日志向我显示以下内容:
[12-Jan-2021 16:06:23 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_72_ts.dll' (tried: C:\php\ext\php_sqlsrv_72_ts.dll (Impossível localizar o módulo especificado), C:\php\ext\php_php_sqlsrv_72_ts.dll.dll (Impossível localizar o módulo especificado)) in Unknown on line 0
我已经尝试过也只需添加以下行:
extension=php_pdo_sqlsrv
错误日志文件显示:
[12-Jan-2021 16:17:55 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_pdo_sqlsrv' (tried: C:\php\ext\php_pdo_sqlsrv (Impossível localizar o módulo especificado), C:\php\ext\php_php_pdo_sqlsrv.dll (Impossível localizar o módulo especificado)) in Unknown on line 0
注意:我在 IIS 中使用 PHP。pdo_odbc 等其他驱动程序也可以工作。我只有这个问题。
根据评论的建议后:
我从以下链接安装了驱动程序:pecl.php.net/package/pdo_sqlsrv/5.9.0beta2/windows
添加到 php.ini
extension=pdo_sqlsrv
并且错误日志文件仍然显示找不到模块:
[12-Jan-2021 20:59:17 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlsrv' (tried: C:\php\ext\pdo_sqlsrv (Impossível localizar o módulo especificado), C:\php\ext\php_pdo_sqlsrv.dll (Impossível localizar o módulo especificado)) in Unknown on line 0
解决方案
根据我在 PHP 8 发布后阅读的内容,pdo_sqlsrv 的 dll 扩展要到 1 月底才会发布。当 7.4 推出时我遇到了同样的问题,我不得不等待几个月才能为我们的 Windows 服务器发布适当的 dll。如果我发现它已发布,我会尽量记住回来更新链接。
推荐阅读
- reactjs - webapi自定义路由上的404
- swift - var something: (() -> Void) 是什么意思?在斯威夫特
- java - Java 方法 File::getName 使用不同的斜杠以不同的方式工作
- delphi - 带有服务应用程序的 IShellFolder
- c# - C# 中的字符串搜索有点类似于 VB 中的 LIKE 运算符
- nginx - Nginx - 将子域作为变量
- java - PreparedStatement SetDate 将日期值减 1
- python - pip 无法安装 pkg 因为 - 尽管 linux fit requrments,但此平台上不受支持的轮子
- r - R - if_else 分配 na 值
- html - 针对移动设备的适配,谷歌看不出是自适应的