Swoole Hook SSL

The SWOOLE_HOOK_SSL flag will enable coroutine support for SSL sockets and streams. Support was added in v4.2.0.

Example

<?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";
    }

});