PHP 调用file_get_contents或curl等方法获取接口数据返回SSL错误的问题解决方法

找到PHP配置文件,可用以下BASH命令搜索具体位置

find / -name "php.ini"

编辑php.ini文件

vim /usr/local/php/etc/php.ini

修改配置文件

找到;openssl.cafile=

去掉注释(即去掉前面的分号)

在等号后面添加受信任的根证书路径(根证书文件见本文附件)

最终效果如下(根据实际情况自行修改):
#####
openssl.cafile=/usr/local/php5.6/etc/cacert.pem
#####

保存后重启相关服务

根证书下载


PHP 调用file_get_contents或curl等方法获取接口数据返回SSL错误的问题解决方法

Java 解析URL参数

……………………
    public static String getUrlparameter(String url, String name) {
        url += "&";
        String pattern = "(\\?|&){1}#{0,1}" + name + "=[a-zA-Z0-9]*(&{1})";
        Pattern r = Pattern.compile(pattern);
        Matcher matcher = r.matcher(url);
        if (matcher.find()) {
            return matcher.group(0).split("=")[1].replace("&", "");
        } else {
            return null;
        }
    }
……………………

Java 解析URL参数