file_get_contents 获取HTTPS链接内容出错

今天遇到php用 file_get_contents 函数获取 https 链接的数据的时候,遇到如下错误。

1
operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

我服务器环境是 Centos 7.

检查已经安装了 openssl包,并在php.ini中开启了 php_openssl 模块。测试发现问题依旧,最后在stackoverflow上找到了答案。

在php.ini中增加一行

openssl.cafile=/etc/pki/tls/certs/ca-bundle.crt

至于如果不确定php的配置文件位置,最好用phpinfo函数打印出来看看。如果机子只有单个环境 直接执行 php -i | grep config 找。

关注公众号 尹安灿