XAMPP环境下PHP连接SQL Server提示PDO找不到驱动如何解决?
解决方案
- 先确认你修改的
php.ini是实际生效的配置文件:打开phpinfo页面,查找Loaded Configuration File字段对应的路径,仅修改该路径下的配置文件才会生效,很多用户误改了其他目录下的同名配置文件导致配置不生效。 - 确认驱动文件存放路径正确:检查phpinfo中
extension_dir字段对应的目录,你下载的sqlsrv、pdo_sqlsrv驱动文件必须放在该目录下,放错其他版本PHP的ext目录会无法加载。 - 检查SQL Server驱动版本匹配度:
- PHP7.4对应的sqlsrv/pdo_sqlsrv驱动版本为5.8/5.9,不能使用适配PHP8及以上版本的驱动
- 对照phpinfo里的
Thread Safety字段,如果是Enabled说明是线程安全(TS)版本,需要下载对应TS版本的驱动;如果是Disabled则下载非线程安全(NTS)版本,同时要匹配PHP的x86/x64架构
- 修正php.ini中的扩展配置写法:你配置的
_sqlsrv是错误的,正确写法如下(Windows环境建议加上.dll后缀避免识别异常):extension=sqlsrv.dll extension=pdo_sqlsrv.dll - 安装Microsoft ODBC Driver for SQL Server:仅安装PHP扩展无法正常使用,必须额外安装对应版本的ODBC驱动,PHP7.4对应的适配版本为ODBC Driver 17 for SQL Server
- 配置修改完成后,重启XAMPP中的Apache服务,再刷新phpinfo页面,确认是否出现
sqlsrv和pdo_sqlsrv的扩展区块,出现后即可正常使用PDO连接SQL Server。
内容的提问来源于stack exchange,提问作者JstBrg1312
相关产品推荐
相关产品推荐

