【发布时间】:2016-09-05 13:33:06
【问题描述】:
有没有办法强制 PHP 与另一台服务器建立 HTTP2 连接,以查看该服务器是否支持它?
我试过了:
$options = stream_context_create(array(
'http' => array(
'method' => 'GET',
'timeout' => 5,
'protocol_version' => 1.1
)
));
$res = file_get_contents($url, false, $options);
var_dump($http_response_header);
并尝试过:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTP_VERSION, 3);
$response = curl_exec($ch);
var_dump($response);
curl_close($ch);
但如果我使用以下 URL https://www.google.com/#q=apache+2.5+http%2F2,两种方式都会给我一个 HTTP1.1 响应
我从启用了 HTTP/2 + SSL 的域发送请求。我做错了什么?
【问题讨论】:
-
您使用的是哪个版本的php?看看这里blog.cloudflare.com/…
-
你试过了吗:This Answer
-
您的 libcurl 版本是否支持 HTTP/2?