PHP 舊版或 CURL、SSL 等等太舊,可能會不支援 HTTP/2,要如何確認自己目前環境有支援 HTTP/2 呢?
PHP 測試 CURL 是否支援 HTTP 2
可以使用這隻程式來確認,執行此程式,出現 HTTP/2 support 就是支援,不然就不支援囉~
<?php if (defined("CURL_VERSION_HTTP2") && (curl_version()["features"] & CURL_VERSION_HTTP2) !== 0) { $url = 'https://www.google.com/'; $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_HEADER => true, CURLOPT_NOBODY => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2_0, ]); $response = curl_exec($ch); if ($response !== false && str_starts_with($response, 'HTTP/2')) echo "HTTP/2 support!"; elseif ($response !== false) echo "No HTTP/2 support on server."; else echo curl_error($ch); curl_close($ch); } else { echo "No HTTP/2 support on client."; } ?>