我已经安装了WAMP 3.0.4,并且正在尝试编写一个PHP脚本连接到一个外部的HTTPS网络服务。但是这返回以下错误:
警告:file_get_contents():SSL操作失败,代码为1。OpenSSL错误消息:错误:14090086:SSL例行程序:SSL3_GET_SERVER_CERTIFICATE:证书验证失败
我编写了一个简短的脚本来证明这个问题:
<?php
$auth = base64_encode('username:password');
$aContext = array(
'http' => array(
'proxy' => 'tcp://proxyip:proxyport',
'request_fulluri' => true,
'header' => 'Proxy-Authorization: Basic $auth'
),
'SSL' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
'cafile' => 'C:/wamp/certificates/cacert.pem'
)
);
$cxContext = stream_context_create($aContext);
$sFile = file_get_contents("https://www.google.com", False, $cxContext);
echo $sFile;
?>
使用代理服务器是必需的。
从上面可以看出,我已经尝试安装根证书包并将verify_peer设置为false(在生产环境中不会这样做),但仍然收到此错误。
从上面可以清楚地看出,我对Apache/WAMP还是个新手。有人可以解释一下我错过了什么吗?