【发布时间】:2016-03-17 08:31:23
【问题描述】:
我使用下面的这个 PHP 函数来使用 curl 来联系外部 API
function api_post($url, $data = array()) {
global $api_key;
global $password;
$data = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json'
));
curl_setopt($ch, CURLOPT_USERPWD, $api_key . ':' . $password);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
return $response;
}
我正在与之通信的 api 即将坚持使用 tls v1.2,这是一件好事,除非出于某种原因我的代码使用的是 1.0 版。
如果我从本地服务器执行此操作很好,但在生产服务器(AWS Elastic Beanstalk 上的 Amazon Web Services EC2 实例)上却不是。我想这与我的服务器设置有关,但我不知道如何修复它。
这是我的 PHPinfo 中的 curl 部分。也许我需要升级它或什么?但是我该怎么做呢?
【问题讨论】:
标签: php amazon-web-services curl amazon-ec2