gitbugr / supervisor-configuration
在PHP中管理Supervisor配置
v0.3.0
2024-09-16 10:07 UTC
Requires
- php: >=8.0.2
- indigophp/ini: ^0.2
- symfony/options-resolver: ^5.0|^6.0|^7.0
Requires (Dev)
- league/flysystem: ^3.0
- overtrue/phplint: ^9.0
- phpspec/phpspec: ^7.0
- phpstan/phpstan: ^1.0
- phpstan/phpstan-strict-rules: ^1.0
- roave/security-advisories: dev-master
Suggests
- league/flysystem: Allows reading and writing to many filesystems.
README
在PHP中管理Supervisor配置。
安装
通过Composer
composer require supervisorphp/configuration
使用方法
使用构建器创建配置。
$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());
此软件包中可用的部分:
- Supervisord
- Supervisorctl
- UnixHttpServer
- InetHttpServer
- 包含**
- 组*
- 程序*
- 事件监听器*
- FCGI程序*
*注意:这些部分必须使用名称实例化,并且可以可选地提供一个属性数组。
$section = new \Supervisor\Configuration\Section\Program('test', ['command' => 'cat']);
**注意:PHP中保留关键字include,因此类名为Includes,但部分名称仍然是include。
现有配置
您可以解析现有的配置,并将其用作Configuration对象。
$loader = new \Supervisor\Configuration\Loader\IniFileLoader('/etc/supervisor/supervisord.conf'); $configuration = $loader->load();
可用的加载器
IniFileLoaderFlysystemLoader(使用league/flysystem)IniStringLoader
编写配置
您可以使用Writer将配置写入各种目的地。
$configuration = new \Supervisor\Configuration\Configuration; // Modify configuration... $writer = new \Supervisor\Configuration\Writer\IniFileWriter('/etc/supervisor/supervisord.conf'); $writer->write($configuration);
可用的writer
IniFileWriterFlysystemWriter(使用league/flysystem)
有关每个部分的详细属性信息,请参阅http://supervisord.org/configuration.html
测试
composer ci
贡献
有关详细信息,请参阅CONTRIBUTING
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件