M1芯片设备XAMPP的sqlsrv扩展未在phpinfo中显示如何解决
PHP sqlsrv扩展加载失败排查方案
- 第一步:确认你修改的是正确的php.ini配置文件
查看phpinfo()页面中的Loaded Configuration File字段,确认你修改的ini文件路径和该字段显示的路径完全一致,避免误改其他环境或其他版本PHP的配置文件。 - 第二步:匹配扩展与当前PHP的属性
检查phpinfo()中以下参数,确认你下载的.so扩展完全匹配:- PHP版本:大版本号必须完全一致(如PHP8.2不能用PHP8.1的扩展)
- 线程安全属性:你下载的是NTS(非线程安全)版本扩展,需确认
Thread Safety字段显示为Disabled,否则需下载TS版本扩展 - 系统架构:需匹配你设备的x86/x64/ARM架构
- 第三步:确认扩展存放路径与权限
查看phpinfo()的extension_dir字段,确认你已经将两个扩展文件放入该字段指向的目录,同时给扩展文件赋予可读权限,执行命令:chmod +r /path/to/extension_dir/{sqlsrv.so,pdo_sqlsrv.so} - 第四步:检查扩展配置写法
确认你在php.ini中添加的加载配置无拼写错误,正确写法如下:
不要漏写extension=sqlsrv.so extension=pdo_sqlsrv.so.so后缀,也不要和其他扩展配置重复定义。 - 第五步:安装依赖组件
sqlsrv扩展依赖SQL Server ODBC驱动,未安装该依赖会直接导致扩展加载失败,根据你的系统版本安装对应官方ODBC驱动即可。 - 第六步:校验加载结果并重启服务
命令行执行php -m查看模块列表,要是出现sqlsrv、pdo_sqlsrv就说明加载成功,然后重启集成环境的Apache/PHP服务,再刷新phpinfo()页面查看即可。
内容的提问来源于stack exchange,提问作者橘さえ
相关产品推荐
相关产品推荐

