Есть ли способ заставить PHP сделать HTTP2-соединение с другим сервером, чтобы проверить, поддерживает ли этот сервер?Сделать запрос HTTP/2 с PHP
Я пробовал:
$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);
Но оба способа дают мне ответ HTTP1.1, если я использую следующий URL https://www.google.com/#q=apache+2.5+http%2F2
Я отправив запрос из домена с поддержкой протокола HTTP/2 + SSL. Что я делаю не так?
, какую версию PHP вы используете? посмотрите здесь https://blog.cloudflare.com/tools-for-debugging-testing-and-using-http-2/ –
вы пробовали: [Этот ответ] (http://stackoverflow.com/questions/ 34606801/how-do-i-send-a-http-2-post-request-in-php) – Hexchaimen
- это версия libcurl, построенная для поддержки HTTP/2? –