Решил сам, был очень близко к решению.
Просто в procfile нужно было указать:
web: php web/server.php
Я же указывал:
worker: php web/server.php
Плюс в коде нужно прописать порт взятый из окружения, переменная PORT:
$port = getenv('PORT');
$http = new Server('0.0.0.0', $port, SWOOLE_BASE);
$http->on('start', function (Server $server) use ($container) {
$logger = $container->get(Logger::class);
$config = $container->get('config');
$logger->info('Swoole http server is started at ' . $config['app']['url'] . ', port :' . $port);
});
$http->on('request', function (Request $request, Response $response) use ($container) {
$response->header("Content-Type", "text/plain");
$response->end("Hello World\n");
});
$http->start();