Ein PHP-Client zur Kommunikation mit der PowerDNS-API.
Über Komponist
$ composer require exonet/powerdns-phpEinfaches Beispiel zum Erstellen einer neuen DNS-Zone und zum Einfügen einiger DNS-Einträge.
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 ),
]);Weitere Informationen finden Sie im Beispielverzeichnis.
Weitere Informationen zu den jüngsten Änderungen finden Sie in den Veröffentlichungen.
Tests mit mehreren PHP-/PowerDNS-Versionen können mithilfe der bereitgestellten Datei docker-compose.yml und des Shell-Skripts run-tests.sh durchgeführt werden:
$ docker-compose up -d
$ ./run-tests.sh Warten Sie nach dem Ausführen von docker-compose up -d einige Sekunden, damit PowerDNS initialisiert werden kann. Sie können die Container laufen lassen und das Testskript mehrmals aufrufen.
Um mit einer bestimmten PHP/PowerDNS-Kombination zu testen, können Sie die PHP-Version als ersten und die PowerDNS-Version als zweiten Parameter angeben:
$ ./run-tests.sh 7.4 4.3Weitere Informationen finden Sie unter CONTRIBUTING und CODE_OF_CONDUCT.
Wenn Sie sicherheitsrelevante Probleme entdecken, senden Sie bitte eine E-Mail an [email protected], anstatt den Issue-Tracker zu verwenden.
Die MIT-Lizenz (MIT). Weitere Informationen finden Sie in der Lizenzdatei.