系统时间不准确会导致 Composer SSL 证书验证失败。应先校准时间:Linux/macOS 使用 date 和 ntpdate 或启用 NTP 服务,Windows 启用自动设置时间或运行 w32tm /resync;再检查时区是否正确,Linux 用 timedatectl 设置,Windows 在设置中调整;随后通过 curl -v https://packagist.org 测试连接,确认无误后执行 composer update;若需调试可临时关闭 TLS 验证(disable-tls true 或 secure-http false),但须及时恢复以保障安全。

Composer 在执行安装或更新操作时,如果系统时间不准确,可能导致 SSL 证书验证失败。这是因为 HTTPS 证书有有效期,若本地系统时间超出证书的有效范围(比如时间过早或过晚),OpenSSL 会认为证书无效,从而中断连接。
检查并校准系统时间
确保你的操作系统时间准确是解决该问题的第一步:
- Linux / macOS: 打开终端,运行 date 查看当前时间。若不正确,可通过 sudo ntpdate -s time.nist.gov 或启用 NTP 服务(如 systemd-timesyncd)自动同步。
- Windows: 右键任务栏时间 → “调整日期/时间” → 开启“自动设置时间”。也可在命令提示符中以管理员身份运行 w32tm /resync 强制同步时间。
确认时区设置正确
即使时间数字正确,错误的时区也可能导致实际 UTC 时间偏差:
- Linux 用户可运行 timedatectl 查看时区,使用 sudo timedatectl set-timezone Your/Timezone 调整(例如 Asia/Shanghai)。
- Windows 用户在“日期和时间”设置中确认时区是否匹配所在地区。
测试网络与 HTTPS 连接
时间校准后,测试是否能正常访问 Composer 的资源:
临时绕过 SSL 验证(仅限调试)
不推荐长期使用,但在确认问题是 SSL 时间验证时可用于测试:
- 运行 composer config -g disable-tls true(不安全)
- 或设置跳过证书检查:composer config -g secure-http false
- 注意:完成后应恢复设置,避免安全风险。
基本上就这些。大多数 Composer 因 SSL 失败的问题,根源是系统时间不准。只要把时间、时区调对,HTTPS 握手就能正常进行,问题自然解决。不要轻易关闭 TLS 验证,治标不治本还存在安全隐患。










