Control your Supervisor from PHP

Migrating from indigophp/supervisor? Click here to see migration guide.


  • Easy to use
  • Uses XML-RPC API
  • HTTP library agnostic
  • Supports extensions
  • Provides configuration builder
  • Supports event listeners
  • Controls instances form CLI
  • Provides a web interface


SupervisorPHP started as a simple XML-RPC client for Supervisor under the IndigoPHP organization back in 2013. Since then it evolved a lot from custom HTTP implementations to complex, HTTP library agnostic client.

Now it is much more than a simple project. It became a complete suite which helps you control your Supervisor.


Supervisor client

The main package. It provides a connection through Supervisor's XML-RPC API. Using third party extensions (like twiddler).


This component is a fully featured configuration builder/parser/writer. Parse configuration from any sources (even remote ones thanks to Flysystem), build new configurations, and write them to any destinations. Properties are always validated to make sure Supervisor will run fine.


Create Supervisor event listeners in PHP. Write your own handlers or use the provided ones.

Console (WIP)

Supervisor comes with an awesome console tool called supervisorctl. However it only supports managing one instance at a time. It also only lets you define one connection per configuration. Wouldn't it be awesome if you could run the same commands on multiple instances? For example restarting all workers on all servers? Or store all used instances in one configuration file? Well, the console component just does all these.

Monitor (WIP)

The default status page in supervisor let's you do all the basic tasks which is needed to maintain it. But in some cases it is not enough. Managing multiple Supervisor instances by multiple administrators can end up in chaos. The monitor component helps you arrange things. Supports adding multiple instances, authentication, logging. Everything you might need to control Supervisor.