PHP: получить версию протокола HTTP (HTTP / 1.1 vs HTTP / 2)

До сих пор мое приложение php принимало HTTP 1.1 везде. Поэтому я определил все заголовки следующим образом:

header("HTTP/1.1 500 Internal Server Error"); 

Но теперь мой сервер также поддерживает HTTP 2, и я хочу обновить все ответы заголовков с правильным кодом статуса HTTP.

Как получить HTTP-версию HTTP-запроса?

(Мой веб-сервер – nginx, но я думаю, что это не имеет значения, если я использую nginx или apache.)

Solutions Collecting From Web of "PHP: получить версию протокола HTTP (HTTP / 1.1 vs HTTP / 2)"

Протокол сервера должен быть доступен через SERVER_PROTOCOL из серверной среды, обычно $_SERVER['SERVER_PROTOCOL'] через $_SERVER['SERVER_PROTOCOL'] внутри вашего приложения.

От phpinfo() в Apache 2.4:

 SERVER_PROTOCOL => HTTP/1.1 

изменение /etc/nginx/factcgi_params:

 #fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param SERVER_PROTOCOL HTTP/2.0; 

Заголовок должен быть: –

 header($_SERVER['SERVER_PROTOCOL'].'404 Not Found');