psyllium/amqp
psyllium/amqp brings AMQP/RabbitMQ messaging to Laravel and PHP applications, offering a simple API for publishing and consuming messages, declaring exchanges and queues, and integrating asynchronous workflows into your app.
php-amqplib directly — is the architectural question worth answering early. Retrofitting transport portability after job, event, and fan-out codebases exist is materially more expensive than starting with a seam.config/packages/*.yaml) points to a Symfony-oriented stack. That makes this a decision point on which framework's queue semantics we standardize on — Laravel's native Queue/Event contracts plus Horizon, or a Symfony-style messaging abstraction — and whether running both is acceptable debt.psyllium abstraction, this package defines the scope of an eventual move to Laravel-native queues or Symfony Messenger. That's a scoping input, not an adoption decision.Consider it only when all of the following hold:
psyllium messaging abstraction and needs an AMQP transport for it. Without that dependency, this package has no independent value — it is a shim, not a queue system.ext-amqp, PHP, and the Psyllium API move. Treat the package as internal code with an external homepage.Look elsewhere when:
vladimir-yuldashev/laravel-queue-rabbitmq or Horizon on Redis is the native, documented, supported path.php-amqplib/php-amqplib gives you the protocol and topology control without an abstraction you did not ask for — and without a second framework's conventions.One-line summary: A small, single-vendor adapter connecting one niche PHP messaging abstraction to AMQP/RabbitMQ. It is not a queue system, not a Laravel-native transport, and not a strategic dependency.
For executives: Treat this as prior art and a design reference, not a platform commitment. The risk is concentrated: one vendor, one repository, no community, no adoption evidence, and a description that overpromises Laravel support relative to what the package actually appears to be. We should not place roadmap-critical messaging on it. The strategic takeaway is directional and worth acting on now — our async design should keep the transport swappable, and we should standardize on a maintained, hireable stack (Laravel-native queues, or Symfony Messenger if we are in Symfony) rather than inherit an abstraction we cannot staff for. No roadmap capacity recommended; the deliverable is a one-paragraph transport-selection principle and a dependency-admission rubric.
For engineering: If we are already inside Psyllium, this adapter is cheap to evaluate and cheap to fork — budget a spike, not a sprint, and confirm ext-amqp availability and Bitbucket access from CI first. If we are not inside Psyllium, the correct move is to route around it: Laravel-native queues (Horizon/Redis, or SQS) for application jobs, php-amqplib or Symfony Messenger where explicit AMQP topology matters. Either way, put an internal publisher/consumer interface in front of whatever we choose, so transport remains a configuration decision. Log the documentation mismatch as an example of why we verify package claims against composer.json, Configuration.php, and service definitions before scoping work off a README.
Recommendation: Do not adopt as a dependency. Record it as prior art for the "keep messaging transport-agnostic" principle, assign no roadmap capacity, and revisit only if a concrete Psyllium-based integration surfaces in a codebase we already own — at which point the question becomes fork-and-own, not adopt.
How can I help you explore Laravel packages today?