- What is Laravel Reverb used for?
- Laravel Reverb provides a real-time WebSocket communication backend for Laravel applications. It powers instant broadcasting, presence channels, and live updates as a first-party, Pusher-compatible server. It integrates with Laravel broadcasting, Laravel Echo, and Redis-backed scaling.
- How do I install Laravel Reverb in a Laravel application?
- Install the package with Composer, then run php artisan reverb:install to publish configuration and set up the core integration. Configure Redis and Laravel broadcasting, start the Reverb server, and point Echo or Pusher-compatible clients at it. Confirm your PHP and Laravel versions satisfy the package's Composer constraints before installing.
- Does Laravel Reverb require Redis?
- Yes, Redis is mandatory for Reverb's pub/sub layer. Teams already using Redis for cache, session, or queues can reuse infrastructure, but should isolate capacity planning for WebSocket fan-out. High connection counts and message throughput can still strain Redis memory and pub/sub performance.
- Is Laravel Reverb compatible with Laravel Echo and Pusher clients?
- Reverb is Pusher-compatible over HTTP and WebSocket, so existing Laravel Echo or Pusher JavaScript clients generally work with minimal changes. It provides Pusher-style authentication and channel behavior without requiring an external Pusher account. Validate private channels, presence channels, client whispers, and auth signatures in regression tests.
- Can Laravel Reverb scale horizontally?
- Yes, Reverb supports horizontal scaling using Redis pub/sub across multiple Reverb nodes. v1.12.0 improves presence channel correctness when scaling is enabled, which matters for multi-node deployments. Redis capacity planning, load testing, and proxy or load balancer validation remain required for production scaling.
- What does the v1.12.0 presence channel fix mean for scaled Reverb deployments?
- v1.12.0 fixes presence channels when Reverb's scaling mode is enabled, improving presence state correctness across multiple nodes. Teams using presence channels with Redis-backed horizontal scaling should prioritize the upgrade. Explicitly test presence join, leave, and state behavior across Reverb nodes after upgrading.
- How does Laravel Reverb v1.12.0 handle failed WebSocket handshakes?
- v1.12.0 closes the WebSocket connection when the handshake fails, reducing dangling sockets and stale connections. This is a useful production hardening change, but load balancer, proxy, and TLS timeout settings still need validation. Monitor failed handshake paths so connection cleanup behavior is visible in operations.
- Which Laravel and PHP versions does Laravel Reverb support?
- Existing PHP and Laravel version constraints remain relevant for Laravel Reverb. Confirm your application's PHP and Laravel versions against the package's Composer requirements before upgrading. The v1.12.0 release appears to be a low-friction minor upgrade with no documented breaking configuration or API changes.
- Can I migrate from Pusher to Laravel Reverb without changing my frontend?
- Reverb's Pusher-compatible protocols and authentication are the main migration path, so existing Echo or Pusher JS clients should continue to work with minimal changes. Validate private and presence channel behavior, especially if Reverb scaling is enabled. Pusher-specific HTTP APIs, client whispers, control frames, and auth signatures should be covered in regression tests.
- What should I monitor in production when running Laravel Reverb?
- Monitor Redis memory, connection counts, pub/sub throughput, and WebSocket fan-out under peak load. Track failed handshakes, connection pruning, activity timeouts, reconnection behavior, and rate limiting. If using presence channels with scaling, test and monitor cross-node presence state after deploying v1.12.0.