|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #70939 socket_import_stream does not indicate missing support for SSL
Submitted: 2015-11-18 20:33 UTC Modified: 2016-02-22 17:52 UTC
Avg. Score:4.9 ± 0.3
Reproduced:12 of 12 (100.0%)
Same Version:3 (25.0%)
Same OS:10 (83.3%)
From: lcharron at meditech dot com Assigned:
Status: Open Package: Sockets related
PHP Version: 5.5.30 OS: Any
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2015-11-18 20:33 UTC] lcharron at meditech dot com
You should be able to obtain the socket from a socket-based SSL stream so that socket options (ex. SO_KEEPALIVE) can be set.
The documentation makes no mention that this is not possible.

Test script:
$host = "host";
$port = "443";
$stream = stream_socket_client("ssl://{$host}:{$port}");
$socket = socket_import_stream($stream);
if ($socket) {

    socket_set_option($socket, SOL_SOCKET, SO_KEEPALIVE, 1);

Expected result:
socket_import_stream should return the underlying socket so options can be set.

Actual result:
socket_import_stream returns null and the following warning is emitted:
Warning: socket_import_stream(): cannot represent a stream of type tcp_socket/ssl as a Socket Descriptor in ...


Add a Patch

Pull Requests

Pull requests:

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2015-12-12 18:16 UTC] contact at sshilko dot com
Same issue, i thought its "by design", at the moment there is no option to enable SO_KEEPALIVE when using stream_socket_client() with SSL/TLS
 [2016-02-21 19:47 UTC] adrian dot sandu at asandu dot eu
Any updates/workarounds ?
 [2016-02-22 17:52 UTC] lcharron at meditech dot com
I could find no work around.
 [2016-02-23 10:02 UTC] adrian dot sandu at asandu dot eu
Someone recommended:

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($socket, SOL_SOCKET, SO_KEEPALIVE, 1);
socket_connect($socket, $host, $port);
 [2020-01-13 10:36 UTC] alex dot bucher at myposter dot de
Hi There,
4 Years later - any updates / workarounds for this?

just hitting the Problem with

currently adding TICKS and a tickhandler as a workaround, but that's not a really nice solution...
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Sat Dec 05 17:01:23 2020 UTC