openlss/lib-pdns

PHP 库,用于修改 PowerDNS MySQL 数据库

0.0.9 2013-04-09 21:24 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:55:49 UTC


README

PHP 库,用于修改 PowerDNS MySQL 数据库

使用方法

//setup the database config
$db = array(
	 'host'		=>	'localhost'
	,'user'		=>	'pdns'
	,'password'	=>	''
	,'driver'	=>	'mysql'
	,'port'		=>	3306
);
Config::set('pdns.db',$db); unset($db);

//getters
$domain = PDNS::fetchDomain('test.com');
$domain = PDNS::fetchDomainByHost('www.test.com');
$record = PDNS::fetchRecord(array('id'=>1));

//update - updates or creates record and finds it by ident
//this is the main function unless advanced actions are needed
$rv = PDNS::update('www.test.com','1.2.4.5','A');
if($rv === false)
	throw new Exception('Failed to update record: www.test.com');

//delete a record the preferred way
$rv = PDNS::delete('www.test.com','1.2.3.4','A');

//raw create record
$id = PDNS::createRecord(array(
	 'domain_id'		=>	1
	,'name'				=>	'ww1.test.com'
	,'type'				=>	'A'
	,'content'			=>	'1.2.3.4'
	,'ttl'				=>	60
	,'prio'				=>	''
));


//update raw record
$rv = PDNS::updateRecord(1,array('type'=>'CNAME','content'=>'test.com'));

//delete raw record
$rv = PDNS::deleteRecord(array('id'=>1));

参考

(array) PDNS::fetchDomain($name)

通过名称获取域名并返回数据库行

(array) PDNS::fetchDomainByHost($name)

接受一个全限定域名(FQDN)并返回其指定的域名数据库行

(mixed) PDNS::update($identifier,$data,$type='A')

  • $identifier 传递给 PDNS::fetchDomainByHost() 的标识符
  • $data 记录数据,例如:1.2.3.4
  • $type 记录类型,默认为 A,创建时返回记录 ID,更新时返回 TRUE,失败时返回 FALSE

(mixed) PDNS::delete($identifier,$data,$type='A')

  • $identifier 主机标识符,例如:www.test.com
  • $data 记录数据,例如:1.2.3.4
  • $type 记录类型,默认为 A,失败时返回 FALSE,成功时返回 TRUE

内部引用

这是用于原始数据库操作,通常用于更高级的使用。

(mixed) PDNS::createRecord($args)

接受任意数量的参数以创建数据库记录。当前的记录模式如下所示

  • id 记录 ID 号
  • domain_id 域名 ID 号
  • name 记录名称,例如:www.test.com
  • type 记录类型,例如:A
  • content 记录内容,例如:1.2.3.4
  • ttl 记录 TTL,例如:60
  • prio 记录优先级,主要用于 MX 记录,例如:10
  • change_date 自动设置

(mixed) PDNS::fetchRecord($args)

类似于 create,接受有关模式的参数数组,并返回数据库行。失败时返回 FALSE

(bool) PDNS::updateRecord($id=null,$args=array())

  • $id 记录 ID 号
  • $args 要更新的参数,请参阅 PDNS::createRecord() 的模式。成功时返回 TRUE,失败时返回 FALSE

(bool) PDNS::deleteRecord($args=array())

  • $args 与 PDNS::fetchRecord() 相似。成功时返回 TRUE,失败时返回 FALSE