- Is fusesource/stomp-php a Laravel package or a queue driver?
- No. fusesource/stomp-php is a low-level STOMP protocol client, not a Laravel package and not a queue driver. It ships no service provider, facade, config publishing, or queue connector, so you must budget for adapter code and lifecycle management yourself.
- How do I install fusesource/stomp-php with Composer in a Laravel project?
- Install it with Composer using composer require fusesource/stomp-php, but expect legacy PHP version constraints that may block installation on modern Laravel stacks. There is no Laravel auto-discovery, so you must register any connection singleton and configuration manually. Validate the package on your PHP version before committing to it.
- Does fusesource/stomp-php support Laravel 10, Laravel 11, and PHP 8.x?
- Compatibility with Laravel 10, Laravel 11, and PHP 8.x is not verified. The codebase predates modern PHP releases, and PSR-4 autoloading and strict types have not been confirmed. Treat PHP 5.x or 7.x-era assumptions as likely until you prove otherwise, and consider the maintained stomp-php/stomp-php successor instead.
- How do I use STOMP with ActiveMQ or RabbitMQ in a Laravel application?
- First confirm your broker actually speaks STOMP; ActiveMQ, Artemis, HornetQ, and RabbitMQ via its STOMP plugin are typical. In Laravel, bind the connection as a singleton in a service provider, publish a config/stomp.php file, and wrap publish and subscribe calls behind your own interfaces. Run consumers in queued jobs or Artisan commands rather than inside HTTP request cycles.
- What is the difference between fusesource/stomp-php and stomp-php/stomp-php?
- This repository is a fork of the original FuseSource package, while stomp-php/stomp-php is the maintained successor with a near drop-in API. The successor materially reduces maintenance and compatibility risk. Evaluate it first and use this fork only under a hard constraint.
- Can I use fusesource/stomp-php as a Laravel queue driver for async jobs?
- No. Laravel's queue abstraction is built around Redis, SQS, the database, and Beanstalkd, with RabbitMQ normally reached through php-amqplib. This package provides no queue connector, so it cannot act as a drop-in async job driver. Use a native driver unless a STOMP-speaking broker is mandated by your environment.
- How do I handle reconnects, heartbeats, and failover with stomp-php in production?
- Production concerns such as heartbeats, reconnect and backoff, transactional acks, failover, and DLQ interaction are likely incomplete or untested in this client. You must implement backoff and connection reset hooks yourself, especially if Octane or Swoole is in play, because a dropped socket bound to request scope can poison later requests. Test these behaviors against your actual broker before relying on them.
- Is fusesource/stomp-php maintained and safe for production use?
- It is effectively dormant, with no visible CI, no security disclosure process, and negligible community surface. The dominant risk is unmaintained code sitting on a critical messaging path with no upstream to escalate to. If you use it, pin the version, vendor the source, and name an owner for patches and PHP-version bumps.
- How do I test STOMP publishing and consuming in a Laravel application?
- Keep the client behind MessagePublisher and MessageConsumer interfaces so you can fake publishing in unit tests. Add integration tests against the real broker for subscribe, readFrame, ack, and disconnect behavior. Exercise reconnection and failure paths as well, because those are the areas most likely to be incomplete.
- What are the alternatives to fusesource/stomp-php for Laravel messaging?
- The first alternative is stomp-php/stomp-php, the maintained successor with a near drop-in API. For RabbitMQ over AMQP, php-amqplib is the conventional choice, and for general Laravel async jobs the native Redis, SQS, database, or Beanstalkd drivers are simpler. Treat fusesource/stomp-php as a narrow adapter only when your broker mandates STOMP.