WebSocket server for PHP · OpenSwoole · MIT

WebSockets for PHP & Laravel

Connect Laravel Echo to your PHP server, or build a custom WebSocket client with control over your messages.

Custom WebSocket clients Laravel Echo support private + presence channels acknowledgments
composer require kanata-php/socket-conveyor
PHP
<?php include __DIR__ . '/vendor/autoload.php'; (new Conveyor\ConveyorServer)->start();
$ php server.php minimal server
PHP8.2 or newer
ext-openswoole22.0 or newer
InstallComposer
LicenseMIT

The current published server installs as kanata-php/socket-conveyor. Its move to firebrikdotcom/socket-conveyor is pending; the PHP companion packages already use the new name. See migration status.

For a packaged Pusher/Reverb server, run with Docker to supply PHP and OpenSwoole without installing them locally. Docker and app credentials are required.

Latest releaseFrom GitHub

What’s new in Conveyor

Explore the latest improvements and fixes in the release notes.

01 Overview

What it provides

Socket Conveyor routes WebSocket messages in PHP using OpenSwoole.

A long-running OpenSwoole WebSocket server.
A native JSON action protocol for direct WebSocket clients.
A Pusher/Reverb-compatible protocol for Laravel Echo and pusher-js.
Channel membership, private/presence authorization, server-side broadcasts, acknowledgments, and custom action handlers.
02 Ways to connect

Choose your connection

Choose the guide that matches your app. Each guide covers server configuration, connection details, and a working example. Use one connection mode per server instance.

03 Installation

Install, then follow your guide

shell · current published server
composer require kanata-php/socket-conveyor

Check requirements, pending Composer registration and installation, then continue with the Native quick start or Laravel Echo / Reverb setup.

Explore the maintained ecosystem components and the archived Belt project, including native clients and the native Laravel broadcaster. PHP client 0.2.0 and broadcaster 0.3.0 are published on Packagist; JS 2.0.1 remains pending; Conveyor Belt is archived.

Looking for runtime versions? See tested-version status.

04 Documentation

Browse the docs

Server setup, protocol guides and companion packages.

Contribute

Reviews go fastest with a small reproduction, a focused change, and the relevant test command.
composer installcomposer testcomposer phpstan
How to contribute
NextInstallation →