- $stream = @fsockopen('tls://' . $host, $port, $errorNumber, $errorString);
+ if (function_exists('stream_socket_client')) {
+ $server_address = 'ssl://' . $host . ':' . $port;
+ if (!empty($ssl_options))
+ $ssl_options = array('ssl' => $ssl_options);
+ $ssl_context = @stream_context_create($ssl_options);
+ $connect_timeout = ini_get('default_socket_timeout');
+ // null timeout is broken
+ if ($connect_timeout == 0)
+ $connect_timeout = 30;
+ $stream = @stream_socket_client($server_address, $errorNumber, $errorString, $connect_timeout, STREAM_CLIENT_CONNECT, $ssl_context);
+ } else {
+ $stream = @fsockopen('ssl://' . $host, $port, $errorNumber, $errorString);
+ }