PHP 測試 CURL 是否支援 HTTP 2

PHP 舊版或 CURL、SSL 等等太舊,可能會不支援 HTTP/2,要如何確認自己目前環境有支援 HTTP/2 呢?

PHP 測試 CURL 是否支援 HTTP 2

可以使用這隻程式來確認,執行此程式,出現 HTTP/2 support 就是支援,不然就不支援囉~

  1. <?php
  2. if (defined("CURL_VERSION_HTTP2") && (curl_version()["features"] & CURL_VERSION_HTTP2) !== 0) {
  3. $url = 'https://www.google.com/';
  4. $ch = curl_init();
  5. CURLOPT_URL => $url,
  6. CURLOPT_HEADER => true,
  7. CURLOPT_NOBODY => true,
  8. CURLOPT_RETURNTRANSFER => true,
  9. CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2_0,
  10. ]);
  11. $response = curl_exec($ch);
  12. if ($response !== false && str_starts_with($response, 'HTTP/2'))
  13. echo "HTTP/2 support!";
  14. elseif ($response !== false)
  15. echo "No HTTP/2 support on server.";
  16. else
  17. echo curl_error($ch);
  18. curl_close($ch);
  19. } else {
  20. echo "No HTTP/2 support on client.";
  21. }
  22. ?>

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料