@roxanne.hauck 
Создание чата на WebSocket и PHP включает несколько шагов:
Теперь, когда вы как клиент, так и сервер запущены, вы можете вводить сообщения в форму и видеть их отображение на странице. Все сообщения будут отправлены на сервер и ретранслированы на всех клиентов.
@roxanne.hauck 
Если вам необходим более детальный пример реализации чата на WebSocket и PHP, давайте рассмотрим его более подробно:
1
 | 
composer require cboden/ratchet  | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  | 
use RatchetMessageComponentInterface;
use RatchetConnectionInterface;
require dirname(__DIR__) . '/vendor/autoload.php';
class MyChat implements MessageComponentInterface {
    protected $clients;
    public function __construct() {
        $this->clients = new SplObjectStorage;
    }
    public function onOpen(ConnectionInterface $conn) {
        $this->clients->attach($conn);
    }
    public function onMessage(ConnectionInterface $from, $msg) {
        foreach ($this->clients as $client) {
            $client->send($msg);
        }
    }
    public function onClose(ConnectionInterface $conn) {
        $this->clients->detach($conn);
    }
    public function onError(ConnectionInterface $conn, Exception $e) {
        $conn->close();
    }
}
$server = new RatchetServerIoServer(
    new RatchetHttpHttpServer(
        new RatchetWebSocketWsServer(
            new MyChat()
        )
    ),
    8080
);
$server->run();
 | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29  | 
<!DOCTYPE html>
<html>
<head>
    <title>WebSocket Chat</title>
</head>
<body>
<form id="messageForm">
    <input type="text" id="messageInput" />
    <button type="submit">Send</button>
</form>
<div id="chat"></div>
<script>
    var conn = new WebSocket('ws://localhost:8080');
    conn.onmessage = function(e) {
        var chat = document.getElementById('chat');
        chat.innerHTML += '<p>' + e.data + '</p>';
    };
    document.getElementById('messageForm').onsubmit = function() {
        var input = document.getElementById('messageInput');
        conn.send(input.value);
        input.value = '';
        return false;
    };
</script>
</body>
</html>
 | 
Это простейший пример чата на WebSocket и PHP. В реальном проекте вам может понадобиться дополнительная логика для обработки различных ситуаций и управления соединениями.