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 ),
]);
Дополнительную информацию см. в каталоге примеров.
Пожалуйста, смотрите выпуски для получения дополнительной информации о том, что изменилось за последнее время.
Тестирование на нескольких версиях PHP/PowerDNS можно выполнить с помощью предоставленного docker-compose.yml
и сценария оболочки run-tests.sh
:
$ docker-compose up -d
$ ./run-tests.sh
После запуска docker-compose up -d
подождите несколько секунд, чтобы можно было инициализировать PowerDNS. Вы можете оставить контейнеры работающими и вызвать тестовый сценарий несколько раз.
Чтобы протестировать конкретную комбинацию PHP/PowerDNS, вы можете указать версию PHP в качестве первого параметра и версию PowerDNS в качестве второго параметра:
$ ./run-tests.sh 7.4 4.3
Подробности см. в разделах CONTRIBUTING и CODE_OF_CONDUCT.
Если вы обнаружите какие-либо проблемы, связанные с безопасностью, отправьте электронное письмо по адресу [email protected] вместо использования системы отслеживания проблем.
Лицензия MIT (MIT). Дополнительную информацию см. в файле лицензии.