- Is laupifrpar/pusher-bundle a Laravel package?
- No. LopiPusherBundle is a Symfony 2 bundle, not a Laravel package. It uses the Symfony bundle contract, including a Bundle class, a DependencyInjection extension, and XML or YAML service definitions registered through AppKernel. Laravel has no bundle registry or bundle extension lifecycle, so the package has no integration surface in a Laravel application.
- Can I install laupifrpar/pusher-bundle in a Laravel application?
- In practice, no. Symfony 2 era bundles typically constrain symfony/symfony or symfony/framework-bundle to 2.x, while supported Laravel releases ship Symfony components at 6.x or 7.x. Composer dependency resolution will fail before any application code is evaluated. Making it work would require forking and rewriting the package rather than adapting it.
- What Symfony versions does LopiPusherBundle support?
- The bundle targets Symfony 2.x and inherits that framework contract. Symfony 2.8 reached end of life in November 2018, so the bundle is built on an unsupported framework branch. Compatibility with Symfony 3, 4, 5, or 6 is unverified and unlikely.
- What is the Laravel equivalent of LopiPusherBundle?
- Laravel already includes first party Pusher support through its broadcasting system. Use pusher/pusher-php-server as the SDK and configure the pusher driver in config/broadcasting.php with cluster, key, secret, and app_id values from the environment. Then broadcast events with ShouldBroadcast or broadcast(new Event(...))->toOthers(), and use Echo plus Pusher JS on the client.
- How do I migrate from LopiPusherBundle to Laravel broadcasting?
- First enumerate what the bundle was actually doing: which services were injected, which events were dispatched, and which configuration keys were read. Replace the bundle with direct Pusher\Pusher construction in a small application owned service, or better, use Laravel broadcasting with the pusher driver. Remove the bundle registration and its config block, then move credentials into environment variables. Verify that private and presence channel authorization endpoints still sign correctly, since that is the most common regression.
- How do I set up Pusher Channels in Laravel without a bundle?
- Install the maintained pusher/pusher-php-server SDK and set BROADCAST_DRIVER=pusher with your Pusher credentials in the environment. Configure config/broadcasting.php with the pusher connection settings and register channel authorization in routes/channels.php. Create broadcast events with php artisan make:event or implement ShouldBroadcast, and use Laravel Echo with Pusher JS for the client side.
- Is LopiPusherBundle still maintained?
- Maintenance signals are weak. The repository has around 65 stars, zero dependents, a single maintainer, and a last release in June 2022 that is most likely a metadata or tag refresh rather than active development. It is built for an end of life Symfony branch, so it should not be treated as actively maintained.
- Why does composer require laupifrpar/pusher-bundle fail on Laravel?
- The bundle's Composer constraints pin Symfony packages to the 2.x line. Every currently supported Laravel version ships Symfony components at 6.x or 7.x, so the solver cannot satisfy both requirement sets. This is a hard Composer level blocker, not a soft adaptation problem.
- How do I configure Laravel private and presence channel authorization with Pusher?
- Define authorization callbacks in routes/channels.php using Broadcast::channel, returning true or an authorization payload only for authenticated users who should subscribe. Laravel's BroadcastServiceProvider loads that file, and the built in Pusher broadcaster handles the signing through the Pusher SDK. Client side, Laravel Echo subscribes with the configured auth endpoint and channel names.
- What should I use instead of LopiPusherBundle for server-side Pusher events?
- Use pusher/pusher-php-server directly or, in Laravel, use the framework's first party Pusher broadcaster, which consumes that SDK. Server side event triggering maps to broadcast events in Laravel, while private and presence channel authorization maps to routes/channels.php. This replaces all of the bundle's functionality with documented, upgrade tracked code.