powerdns php

其他类别 2025-07-29

PowerDNS-PHP

PHP客户端与PowerDNS API通信。

安装

通过作曲家

$ composer require exonet/powerdns-php

用法

基本示例如何创建新的DNS区域并插入一些DNS记录。

 use Exonet  Powerdns  Powerdns ;
use Exonet  Powerdns  RecordType ;
use Exonet  Powerdns  Resources  ResourceRecord ;
use Exonet  Powerdns  Resources  Record ;

// Initialize the Powerdns client.
$ powerdns = new Powerdns ( ' 127.0.0.1 ' , ' powerdns_secret_string ' );

// Create a new zone.
$ zone = $ powerdns -> createZone (
    ' example.com ' ,
    [ ' ns1.example.com. ' , ' ns2.example.com. ' ]
);

// Add two DNS records to the zone.
$ zone -> create ([
    [ ' type ' => RecordType::A, ' content ' => ' 127.0.0.1 ' , ' ttl ' => 60 , ' name ' => ' @ ' ],
    [ ' type ' => RecordType::A, ' content ' => ' 127.0.0.1 ' , ' ttl ' => 60 , ' name ' => ' www ' ],
]);

// OR use the Object-based way
$ zone -> create ([
    ( new ResourceRecord ())-> setType (RecordType::A)-> setRecord ( ' 127.0.0.1 ' )-> setName ( ' @ ' )-> setTtl ( 60 ),
    ( new ResourceRecord ())-> setType (RecordType::A)-> setRecord (( new Record ())-> setContent ( ' 127.0.0.1 ' ))-> setName ( ' @ ' )-> setTtl ( 60 ),
]);

有关更多信息,请参见示例目录。

更改日志

请参阅发行版,以获取有关最近发生变化的更多信息。

测试

可以使用提供的docker-compose.ymlrun-tests.sh shell脚本来完成针对多个PHP / PowerDNS版本的测试:

$ docker-compose up -d
$ ./run-tests.sh

运行docker-compose up -d等待几秒钟后,可以初始化PowerDN。您可以使容器运行并多次调用测试脚本。

为了针对特定的PHP / PowerDN组合进行测试,您可以将PHP版本作为第一个和PowerDNS版本作为第二参数:

$ ./run-tests.sh 7.4 4.3

贡献

有关详细信息,请参见贡献和code_of_conduct。

安全

如果发现任何与安全有关的问题,请发送电子邮件至开发@exonet.nl,而不是使用问题跟踪器。

学分

  • 外部
  • 所有贡献者

执照

麻省理工学院许可证(麻省理工学院)。请参阅许可证文件以获取更多信息。

下载源码

通过命令行克隆项目:

git clone https://github.com/exonet/powerdns-php.git