2

Linux で PHP 5.2 を実行し、dns_get_record(). ドキュメントからこの関数がレプリケートされるように見えますがdig、矛盾が見られます。私の目標は、各ホスト名が属するドメインに対して権限のあるプライマリおよびセカンダリ ネームサーバーを取得することです。

dns_get_record('example.com', DNS_NS);良い結果を返します。 dns_get_record('www.example.com', DNS_NS);何も返しません。 dns_get_record('www.example.com', DNS_ANY);A レコードのみを返します。 dns_get_record('www.example.com', DNS_SOA);何も返しません。

ただし、dig を使用したコマンド ラインからは、少なくとも SOA を常に取得できます。

dig www.example.com NS また dig www.example.com SOA

ネームサーバーを含む有効な AUTHORITY SECTION (IN SOA) を返します。

これをPHPでどのように複製できますか? 私は PEAR Net_DNS モジュールを試してみましたが、dns_get_record().

4

2 に答える 2

1

コマンド ラインから使用するdigと、DNS に (比較的) 直接的に接続できます。出力もそのシナリオ用にフォーマットされています。php 関数を実行すると、作成者が必要だと考えた値が返されます。に直接対応するとは限りませんdig

dig結果を取得したい場合は、必要に応じてexec('dig www.example.com ns');その戻り出力を使用および解析できます。

また、サブドメイン、つまり www. tld (example.com) ではなく、それに関連付けられた他のレコードを取得することはありません。そのサブドメインに関連付けられた結果のみを取得します。この場合、これは単なる A レコードです。

于 2012-09-26T22:29:15.747 に答える