Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
thinkphp报错“cURL error 60”SSL证书问题怎么解决_创想鸟

thinkphp报错“cURL error 60”SSL证书问题怎么解决

答案是cURL error 60因SSL证书验证失败导致,可通过配置CA证书、指定证书路径或临时关闭验证解决,推荐下载cacert.pem并配置php.ini中curl.cainfo以实现安全稳定的HTTPS请求。

thinkphp报错“curl error 60”ssl证书问题怎么解决

ThinkPHP 报错“cURL error 60”通常是由于 cURL 请求 HTTPS 接口时无法验证 SSL 证书导致的。这个错误的完整提示一般是:

SSL certificate problem: unable to get local issuer certificate

这意味着 PHP 的 cURL 扩展找不到受信任的 CA(证书颁发机构)证书来验证目标服务器的 SSL 证书。以下是几种常见且有效的解决方法。

1. 下载并配置 CA 证书文件

最安全的做法是让 cURL 使用正确的 CA 证书包进行验证。

立即学习“PHP免费学习笔记(深入)”;

• 前往 https://www.php.cn/link/5fe4dadcdb001d8566cd20e6d8a20251 下载最新的 cacert.pem 文件
• 将文件保存到你的服务器某个目录,例如:

D:phpcacert.pem

或

/etc/ssl/certs/cacert.pem

• 修改 php.ini 配置:

curl.cainfo = "D:phpcacert.pem"

(Windows)

curl.cainfo = "/etc/ssl/certs/cacert.pem"

(Linux)

• 重启 Web 服务(Apache/Nginx)和 PHP-FPM

这样全局的 cURL 请求都会使用可信的证书进行验证,安全性高。

2. 在 ThinkPHP 的 HTTP 客户端中手动设置证书路径

如果你使用的是 ThinkPHP 自带的 Http 或 SwooleHttpClient,可以在请求时指定 CA 证书路径:

示例代码:

$response = thinkfacadeHttp::get('https://api.example.com', [    'verify' => '/path/to/cacert.pem'  // 指向你下载的 cacert.pem]);

或者关闭严格验证(仅开发环境建议):

$response = thinkfacadeHttp::get('https://api.example.com', [    'verify' => false]);

3. 临时禁用 SSL 验证(不推荐生产环境)

如果只是测试或调试,可以临时跳过证书验证(有安全风险):

config('http.disallow_ssl_verify_requests', false); // ThinkPHP 6.x 中可设置

或在调用时直接关闭:

thinkfacadeHttp::send($url, ['verify' => false]);

⚠️ 注意:这会使请求容易受到中间人攻击,仅用于本地调试。

4. 检查系统时间和证书有效期

SSL 验证还依赖系统时间。如果服务器时间不准确(如相差几天),也可能导致证书被视为无效。

• Linux:运行

date

查看时间,使用

ntpdate pool.ntp.org

同步
• Windows:确保时间与时区设置正确

基本上就这些。优先推荐第1种方式,从根本上解决问题,既安全又稳定。开发阶段可用第3种临时绕过,但上线前务必恢复验证。

以上就是thinkphp报错“cURL error 60”SSL证书问题怎么解决的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/145867.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
爷青回!经典神机诺基亚3210回归:379元卖断货
上一篇 2025年12月2日 07:48:37
王者荣耀万象天工开启方法
下一篇 2025年12月2日 07:48:43

相关推荐

发表回复

登录后才能评论
关注微信