首页 > 编程语言 > PHP > PHP Warning: file_get_contents(): Failed to enable crypto的解决办法

PHP Warning: file_get_contents(): Failed to enable crypto的解决办法

PHP

一.问题情况

今天使用PHP写程序获取指定接口的内容,获取内容为空加上报错报错提示显示routines:ssl3_get_server_certificate:certificate verity failed in XXX.php on line XXX.

PHP Warning: file_get_contents(): Failed to enable crypto in XXX.php on line XXX,有相同问题的小伙伴可以看下.

二.解决办法

查了下资料,这个应该是发起https请求的php服务器根证书核验失败造成的,所以第一种解决办法,直接在服务器上更新根证书

更新完证书以后再请求就一切正常了,但是机构颁发的根证书有效期基本都是几年.可能后面还会出问题,可以换成curl请求带-k参数忽略证书验证.或者是file_get_contents()添加一下忽略验证参数

(1)、file_get_contents语法:

(2)、file_get_contents相关参数:

file_get_contents(): Failed to enable crypto

(3)、stream_context_create相关:

创建并返回一个资源流上下文,该资源流中包含了 options 中提前设定的所有参数的值。

PS:options必须是一个二维关联数组,格式如下:$arr['wrapper']['option'] = $value 。默认是一个空数组