Bug #68329 [Opn->Ver]: HTTPS-requests to some servers are blocking until a connection timeout occurs.

From: Date: Thu, 30 Oct 2014 17:43:51 +0000
Subject: Bug #68329 [Opn->Ver]: HTTPS-requests to some servers are blocking until a connection timeout occurs.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-188378@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=68329&edit=1

 ID:                 68329
 Updated by:         aharvey@php.net
 Reported by:        p dot schillinger at ec-elements dot com
 Summary:            HTTPS-requests to some servers are blocking until a
                     connection timeout occurs.
-Status:             Open
+Status:             Verified
 Type:               Bug
-Package:            HTTP related
+Package:            OpenSSL related
 Operating System:   any
 PHP Version:        5.6.2
-Assigned To:        
+Assigned To:        rdlowrey
 Block user comment: N
 Private report:     N

 New Comment:

I can reproduce this as well.

Daniel, this feels like something you probably know about. Can you have a look, please?


Previous Comments:
------------------------------------------------------------------------
[2014-10-30 14:40:40] p dot schillinger at ec-elements dot com

Description:
------------
Downloading any content over HTTPS with the build-in stream-mechanism does not work as expected with
some servers (e.g. Apache 2.4 mod_itk mod_ssl).
The process always blocks until the connection timeout occurs. The return value is correct, however,
it takes a long time.

Fetching the same URL with Curl or by bare HTTP works fine.
It affects all versions of PHP.


Test script:
---------------
<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.ec-elements.com/sitemap.xml');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$t1 = microtime(true);
$output1 = curl_exec($ch);
$t2 = microtime(true);
echo "curl_exec: ".($t2-$t1)." s\n";

$t1 = microtime(true);
$output2 = file_get_contents('https://www.ec-elements.com/sitemap.xml');
$t2 = microtime(true);
echo "file_get_contents: ".($t2-$t1)." s\n";


Actual result:
--------------
curl_exec: 0.11854910850525 s
file_get_contents: 60.250888824463 s



------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=68329&edit=1


Thread (5 messages)

« previous php.bugs (#188378) next »