stomp support for PHP

Fund package maintenance!

Installs: 2 774 534

Dependents: 21

Suggesters: 4

Security: 0

Stars: 124

Watchers: 8

Forks: 58

Open Issues: 23

5.1.0 2023-06-19 17:34 UTC


Build Status

This project is a PHP Stomp Client that besides it implements the Stomp protocol fully, brings some ActiveMQ and Apollo specific utils that could make your messaging from PHP easier.


This library was initially developed by Dejan Bosanac. We would like to thank you for your work and we're happy to continue it.

Version choice

  • For new projects you should use version 4.* which requires php-5.6. Support for php-5.6 ends with version 5.*.
  • For projects running older php versions you can use version 4.2.* for php-5.5 and 3.* for php-5.3, please consider to update php.
  • For running projects with fusesource/stomp-php@2.x clients you can use version 2.2.2.
  • All version newer that 2.x won't be compatible with fusesource/stomp-php. (


composer require stomp-php/stomp-php


You find different usage tutorials in our example project

Connection Probing

It's hard to find out if a socket connection is still working or not, Stomp allows us to use heartbeats to test if client and server are ready to serve messages.

You should use \Stomp\Network\Observer\ServerAliveObserver or \Stomp\Network\Observer\HeartbeatEmitter to receive or send heartbeats. Doing so will ensure that your client will detect a broken connection in time. Please have a look at for some example code with additonal comments.

Replace fusesource/stomp-php

If you used fusesource/stomp-php before, you can use our 2.x versions.

    "require": {
        "stomp-php/stomp-php": "2.*"


We code in PSR2, please use our predefined hook.


To run the tests you first need to fetch the dependencies for the test suite via composer:

$ php composer.phar install

The functional testsuite is divided into three broker versions. Currently it's running on ActiveMq (Port 61010), Apollo (61020), RabbitMq (61030), Artemis (61040). Apollo should be configured to use admin:password and RabbitMq to guest:guest. While ActiveMq must be configured to use no login at all.

You can setup all brokers by running travisci/bin/ Stop them by travisci/bin/ (Docker is required.)

If you only like to run the functional generic tests, ensure Apollo is configured. A basic setup can be achieved by running ./travisci/bin/ 1.7.1. (If you want to create a local running broker, you find the config / setup at travisci/docker/apollo-mq/)


Apache License Version 2.0