Manage Supervisor configuration in PHP.
Via Composer
composer require supervisorphp/configuration
Create a configuration using the builder.
$config = new \Supervisor\Configuration\Configuration;
$renderer = new \Indigo\Ini\Renderer;
$section = new \Supervisor\Configuration\Section\Supervisord(['identifier' => 'supervisor']);
$config->addSection($section);
$section = new \Supervisor\Configuration\Section\Program('test', ['command' => 'cat']);
$config->addSection($section);
echo $renderer->render($config->toArray());
The following sections are available in this package:
- Supervisord
- Supervisorctl
- UnixHttpServer
- InetHttpServer
- Includes**
- Group*
- Program*
- EventListener*
- FcgiProgram*
*Note: These sections has to be instantiated with a name and optionally a properties array:
$section = new \Supervisor\Configuration\Section\Program('test', ['command' => 'cat']);
**Note: The keyword include
is reserved in PHP, so the class name is Includes
, but the section name is still include
.
You can parse your existing configuration, and use it as a Configuration
object.
$loader = new \Supervisor\Configuration\Loader\IniFileLoader('/etc/supervisor/supervisord.conf');
$configuration = $loader->load();
Available loaders:
IniFileLoader
FlysystemLoader
(Using league/flysystem)IniStringLoader
You can use Writer
s to write configuration to various destinations.
$configuration = new \Supervisor\Configuration\Configuration;
// Modify configuration...
$writer = new \Supervisor\Configuration\Writer\IniFileWriter('/etc/supervisor/supervisord.conf');
$writer->write($configuration);
Available writers:
IniFileWriter
FlysystemWriter
(Using league/flysystem)
You can find detailed info about properties for each section here: http://supervisord.org/configuration.html
composer ci
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.