【发布时间】:2016-12-07 01:03:42
【问题描述】:
Mac OSX El Capitan,默认 apache 安装在 localhost,brew 安装 php70。以下代码使用 cli (php -f test.php) 工作,但是当从 apache 运行时,我得到以下内容。
SSL certificate problem: Couldn't understand the server certificate format
使用“http”网址在这两种情况下都可以正常工作。在 Ubuntu 机器上进行相同的设置可以正常工作。在全新安装 El Capitan 之前,我已经完成了这项工作,我隐约记得 Mac OSX 和用于 curl 的 openssl,但在这里找不到区别。
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.example.com/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
【问题讨论】:
-
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); ???你还在尝试吗?