WebSockets for PHP & Laravel
Connect Laravel Echo to your PHP server, or build a custom WebSocket client with control over your messages.
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.
What’s new in Conveyor
Explore the latest improvements and fixes in the release notes.
What it provides
Socket Conveyor routes WebSocket messages in PHP using OpenSwoole.
pusher-js.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.
Use Laravel broadcasting and Echo with private channels, online member lists, and messages between clients.
Read the Laravel Echo guide →Send and receive JSON messages directly over WebSockets. Manage channels, track connected clients, and handle your own actions in PHP.
Read the custom client quick start →Install, then follow your guide
composer require kanata-php/socket-conveyorCheck 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.
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