file_get_contents with https hosts works just fine, except for a particular host (test api server from some company - ip whitelisted, can't give you URL to test). This rules out not loaded https modules and other initial setup mistakes.
I have tested with multiple PHP installations, all at v5.3.3, 32bits, Debian 32bits.
The request works with cURL, but only if setting curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
. However, setting verify_peer"=>false
on the context for file_get_contents seems to make no difference.
With file_get_contents, the exact same request (same URL, same XML POST data) fails with SSL: Connection reset by peer:
$arrContextOptions=array( "http" => array( "method" => "POST", "header" => "Content-Type: application/xml; charset=utf-8;\r\n". "Connection: close\r\n", "ignore_errors" => true, "timeout" => (float)30.0, "content" => $strRequestXML, ), "ssl"=>array( "allow_self_signed"=>true, "verify_peer"=>false, ), ); file_get_contents("https://somedomain:2000/abc/", false, stream_context_create($arrContextOptions));
.
Has anyone encountered this with file_get_contents? Any ideas how to debug?