From d2867d887a6b8baa1ed3cc04af0a5f42926c45e9 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 20 Sep 2020 17:27:04 +0300 Subject: [PATCH] resolve_redirects: only use three argument version of get_headers() on php 7.1+ --- include/functions.php | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/include/functions.php b/include/functions.php index 0a02ff0d5..136bccdf6 100644 --- a/include/functions.php +++ b/include/functions.php @@ -2008,24 +2008,29 @@ if ($nest > 10) return false; - $context_options = array( - 'http' => array( - 'header' => array( - 'Connection: close' - ), - 'method' => 'HEAD', - 'timeout' => $timeout, - 'protocol_version'=> 1.1) - ); + if (version_compare(PHP_VERSION, '7.1.0', '>=')) { + $context = stream_context_create($context_options); - if (defined('_HTTP_PROXY')) { - $context_options['http']['request_fulluri'] = true; - $context_options['http']['proxy'] = _HTTP_PROXY; + $context_options = array( + 'http' => array( + 'header' => array( + 'Connection: close' + ), + 'method' => 'HEAD', + 'timeout' => $timeout, + 'protocol_version'=> 1.1) + ); + + if (defined('_HTTP_PROXY')) { + $context_options['http']['request_fulluri'] = true; + $context_options['http']['proxy'] = _HTTP_PROXY; + } + + $headers = get_headers($url, 0, $context); + } else { + $headers = get_headers($url, 0); } - $context = stream_context_create($context_options); - $headers = get_headers($url, 0, $context); - if (is_array($headers)) { $headers = array_reverse($headers); // last one is the correct one