You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server2022本地访问PHP页面遇SQL Server SSL证书信任问题求助

本地访问PHP页面连接远程SQL Server时的SSL证书信任问题排查

问题概述

新部署Windows Server 2022环境,搭配PHP8.2和SQL SRV驱动,PHP页面通过1433端口访问远程SQL Server数据库。外部网络访问PHP页面完全正常,但服务器本地用localhost访问时,抛出以下SSL证书错误:

Array ( [0] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => -2146893019 [code] => -2146893019 [2] => [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: The certificate chain was issued by an authority that is not trusted. [message] => [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: The certificate chain was issued by an authority that is not trusted. ) [1] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => -2146893019 [code] => -2146893019 [2] => [Microsoft][ODBC Driver 18 for SQL Server]Client unable to establish connection [message] => [Microsoft][ODBC Driver 18 for SQL Server]Client unable to establish connection ) )

外部访问正常说明IIS、PHP及驱动配置无问题,核心问题出在服务器本地的证书信任链上。

排查步骤

1. 获取远程SQL Server的证书信息

在远程SQL Server上打开SQL Server配置管理器,依次操作:

  • 展开「SQL Server网络配置」
  • 选中对应实例的协议(比如MSSQLSERVER)
  • 右键点击「TCP/IP」→「属性」→ 切换到「证书」选项卡
    记录下证书的颁发机构(CA)和指纹,后续排查要用。

2. 检查服务器本地是否信任目标CA证书

运行certmgr.msc打开证书管理器,注意要以IIS应用池的身份登录(默认是IIS AppPool\DefaultAppPool,自定义了应用池身份则用对应账号):

  • 展开「受信任的根证书颁发机构」→「证书」
  • 查找是否存在刚才记录的CA证书
  • 如果未找到,将远程SQL Server证书的CA证书导入到这个存储区

3. 临时验证证书信任问题(测试用)

修改PHP中的SQL SRV连接字符串,添加TrustServerCertificate=Yes参数:

$serverName = "远程SQL服务器地址,1433";
$connectionInfo = array(
    "UID" => "数据库用户名",
    "PWD" => "数据库密码",
    "Database" => "目标数据库名",
    "TrustServerCertificate" => "Yes"
);
$conn = sqlsrv_connect($serverName, $connectionInfo);

如果添加后本地访问恢复正常,即可确认是证书信任问题,此参数仅作测试用,长期使用建议优先安装CA证书。

4. 确认应用池身份的证书访问权限

即使CA证书已导入,IIS应用池的身份可能缺少证书读取权限:

  • 在证书管理器中找到导入的CA证书,右键→「所有任务」→「管理私钥」(根CA无私人密钥可跳过此步)
  • 添加IIS应用池账号,授予其「读取」权限

5. 排查内外访问的网络路径差异

外部访问可能经过反向代理或负载均衡,这类设备可能已处理SSL证书信任;而本地访问是服务器上的PHP进程直接发起连接,必须依赖本地机器的证书信任链。

内容的提问来源于stack exchange,提问作者arresteddevelopment

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 08:44:58