https://github.com/stomp-php/stomp-php
Stomp PHP Client
https://github.com/stomp-php/stomp-php
activemq apollo-client message-queue php rabbitmq-client stomp
Last synced: 2 months ago
JSON representation
Stomp PHP Client
- Host: GitHub
- URL: https://github.com/stomp-php/stomp-php
- Owner: stomp-php
- License: apache-2.0
- Created: 2014-09-04T10:41:35.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2026-01-12T10:01:23.000Z (2 months ago)
- Last Synced: 2026-01-12T18:50:52.946Z (2 months ago)
- Topics: activemq, apollo-client, message-queue, php, rabbitmq-client, stomp
- Language: PHP
- Homepage: https://github.com/stomp-php/stomp-php/wiki
- Size: 555 KB
- Stars: 128
- Watchers: 8
- Forks: 62
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Stomp PHP
[](https://travis-ci.org/stomp-php/stomp-php)
This project is a PHP [Stomp](http://stomp.github.com) Client that besides it implements the Stomp protocol fully,
brings some ActiveMQ and Apollo specific utils that could make your messaging from PHP easier.
## Credits
This library was initially developed by [Dejan Bosanac](https://github.com/dejanb).
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`. (https://github.com/dejanb/stomp-php.)
## Installing
```bash
composer require stomp-php/stomp-php
```
## Examples
You find different usage tutorials in our example project https://github.com/stomp-php/stomp-php-examples.
### 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
https://github.com/stomp-php/stomp-php-examples 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.
```json
"require": {
"stomp-php/stomp-php": "2.*"
}
```
## Contributing
We code in `PSR2`, please use our predefined `pre_commit.sh` hook.
## Tests
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/start.sh`. Stop them by `travisci/bin/stop.sh`. (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/apollo-mq.sh 1.7.1`.
(If you want to create a local running broker, you find the config / setup at `travisci/docker/apollo-mq/`)
## Licence
[Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)