質問編集履歴

1 誤字の修正

jamjam

jamjam score 58

2015/06/08 16:09  投稿

phpのdns_get_recordの使い方について
お世話になります。
phpのdns_get_record()に関する質問です。
DNSのAレコードをチェックするために以下のスクリプトを作成しました。
phpのバージョンは.3.3です。
phpのバージョンは5.3.3です。
第1引数にホスト名、第二引数にDNSのレコードタイプを設定して使う想定です。
```lang-php
#!/usr/bin/php
<?php
$result = dns_get_record($argv[1],$argv[2]);
print_r($result[0]["ip"]);
?>
```
しかし、作成して実際に使用してみると、第2引数でエラーが出てしまいます。
```lang-bash
$./dns_check.php example.com DNS_A
PHP Warning: dns_get_record() expects parameter 2 to be long, string given in /usr/share/zabbix/scripts/dns_check.php on line 3
```
以下のように引数ではなく、スクリプト内で「DNS_A」を直接指定するとエラーが出ません。
```lang-php
#!/usr/bin/php
<?php
$result = dns_get_record($argv[1],DNS_A);
print_r($result[0]["ip"]);
?>
```
実行結果
```lang-bash
$./dns_check.php example.com
93.184.216.34
```
なぜスクリプトを介するとエラーになるか分かりません。
ご教示頂きますよう、宜しくお願いします。
  • PHP

    38442 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る