The SWOOLE_HOOK_SSL
flag will enable coroutine support for SSL sockets and streams. Support was added in v4.2.0
.
<?php
Co::set(['hook_flags' => SWOOLE_HOOK_SSL]);
Co\run(function () {
$host = 'host.domain.tld';
$port = 1234;
$timeout = 12;
$cert = '/path/to/your/certchain/certchain.pem';
$context = stream_context_create(
array(
'ssl' => array(
'local_cert' => $cert,
)
)
);
if ($fp = stream_socket_client(
'ssl://' . $host . ':' . $port,
$errno,
$errstr,
30,
STREAM_CLIENT_CONNECT,
$context
)) {
echo "connected\n";
} else {
echo "ERROR: $errno - $errstr \n";
}
});