TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱

悠悠楠杉

网站页面
文章目录

php curl无法获得https网页内容

2024-01-05
/
1 评论
/
1,260 阅读
/
正在检测是否收录...
01/05

程序员最经常使用的curl,在php下面也是经常用的到。但是,博主友情提示您:用curl获取https的网页内容的时候,也是需要用到证书的。而这么多年,估计大家从来都没有察觉过任何更新证书的动作,证明这可能是有自动renew操作的。而目前博主手头的centos系统,却存在有使用curl无法获取https内容的问题。

利用curl或者file_get_contents获取远程http的内容时,成功。但是获取https的内容时,失败。错误提示文字类似于:

SSL operation failed with code 1. OpenSSL Error messages: error:14090086: SSL routines:ssl3_get_server_certificate:certificate vertify failed

解决方法

1、保证php.ini里面的openssl扩展肯定要打开。这个操作比较基础,不做赘述。

extension=openssl.so

2、查看一下openssl证书的默认位置,检测openssl的证书位置的代码:

php -r "print_r(openssl_get_cert_locations());"

default_cert_file是默认位置。

3、下载更新证书

下载网址:https://curl.haxx.se/docs/caextract.html

选择一个最新的perm证书下载即可,下载好的证书要放置在上述默认位置或者自定义好的位置,重启php后,就应该可以解决问题了。

经验PHPhttpscurl网页内容抓取
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/6415/(转载时请注明本文出处及文章链接)

评论 (1)
  1. hnehqhgllh 作者
    Windows 10 · Google Chrome

    想想你的文章写的特别好

    2024-09-23 回复