मुझे लगता है कि मैं कुछ (खिड़कियों पर करने की कोशिश की, पीएचपी 5.3.0, CLI से) पाया:
जब मैं यह कर:
C:\bin\php-5.3\tests>c:\bin\php-5.3\php.exe test-dns.php
bool(true)
test.com dns check:
Type = A : bool(false)
Type = MX : bool(false)
Type = NS : bool(false)
Type = SOA : bool(false)
Type = PTR : bool(false)
Type = CNAME : bool(false)
Type = AAAA : bool(false)
Type = A6 : bool(false)
Type = SRV : bool(false)
Type = NAPTR : bool(false)
Type = TXT : bool(false)
Type = ANY : bool(false)
:
$tests = array('A', 'MX', 'NS', 'SOA', 'PTR', 'CNAME', 'AAAA', 'A6', 'SRV', 'NAPTR', 'TXT', 'ANY');
foreach ($tests as $type) {
echo " Type = $type : ";
var_dump(checkdnsrr("test.com", $type));
}
मैं इस मिल इसलिए, कोई भी परीक्षण "सत्य" नहीं देता है :-(
लेकिन wh एन मैं अन्य डोमेन के साथ प्रयास करें:
$tests = array('A', 'MX', 'NS', 'SOA', 'PTR', 'CNAME', 'AAAA', 'A6', 'SRV', 'NAPTR', 'TXT', 'ANY');
foreach ($tests as $type) {
echo " Type = $type : ";
var_dump(checkdnsrr("pascal-martin.fr", $type));
}
(क्योंकि मुझे पता है कि उस पर है, और एक विशिष्ट विचार ^^ के लिए परीक्षण करना चाहता था इस पर परीक्षण किया) मैं:
C:\bin\php-5.3\tests>c:\bin\php-5.3\php.exe test-dns.php
bool(true)
test.com dns check:
Type = A : bool(true)
Type = MX : bool(true)
Type = NS : bool(true)
Type = SOA : bool(true)
Type = PTR : bool(true)
Type = CNAME : bool(true)
Type = AAAA : bool(true)
Type = A6 : bool(true)
Type = SRV : bool(true)
Type = NAPTR : bool(true)
Type = TXT : bool(true)
Type = ANY : bool(true)
तो, फ़ंक्शन काम कर रहा है ... कम से कम कुछ डोमेन के लिए!
ऐसा क्यों हो सकता है?
शायद test.com के DNS सर्वर पर कुछ कॉन्फ़िगर नहीं किया गया है? और यह कुछ पास्कल- martin.fr पर कॉन्फ़िगर किया गया है?
मैं डीएनएस सिस्टम अच्छी तरह से :-(
यहाँ (लिनक्स से) कुछ आदेश से आउटपुट के एक जोड़े को बताने के लिए पर्याप्त जानकारी नहीं है:
$ dig pascal-martin.fr
; <<>> DiG 9.5.1-P2 <<>> pascal-martin.fr
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22164
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;pascal-martin.fr. IN A
;; ANSWER SECTION:
pascal-martin.fr. 86400 IN A 213.186.33.2
;; Query time: 29 msec
;; SERVER: 212.27.40.241#53(212.27.40.241)
;; WHEN: Fri Aug 7 00:00:47 2009
;; MSG SIZE rcvd: 50
और:
$ dig test.com
; <<>> DiG 9.5.1-P2 <<>> test.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62572
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;test.com. IN A
;; ANSWER SECTION:
test.com. 7200 IN A 204.12.0.50
;; Query time: 136 msec
;; SERVER: 212.27.40.241#53(212.27.40.241)
;; WHEN: Fri Aug 7 00:00:51 2009
;; MSG SIZE rcvd: 42
लगभग समान लगता है ... तो यहां कोई समस्या नहीं है?
की एक और कोशिश करते हैं:
$ host pascal-martin.fr
pascal-martin.fr has address 213.186.33.2
pascal-martin.fr mail is handled by 100 mxb.ovh.net.
pascal-martin.fr mail is handled by 1 mx0.ovh.net.
और:
$ host test.com
test.com has address 204.12.0.50
ठीक है, यहाँ, वहाँ एक अंतर है! क्या समस्या इस तथ्य के कारण हो सकती है कि test.com आईपी को हल करता है, लेकिन इसमें कोई एमएक्स प्रविष्टि नहीं है? या इस तरह का कुछ ?
शायद यह है: जब मैं dns_get_record
का उपयोग एमएक्स DNS प्रविष्टियों के लिए परीक्षण करने के लिए, मैं test.com के कोई परिणाम है:
array(0) {
}
लेकिन मैं pascal-martin.fr के लिए दो है:
array(2) {
[0]=>
array(6) {
["host"]=>
string(16) "pascal-martin.fr"
["type"]=>
string(2) "MX"
["pri"]=>
int(100)
["target"]=>
string(11) "mxb.ovh.net"
["class"]=>
string(2) "IN"
["ttl"]=>
int(14481)
}
[1]=>
array(6) {
["host"]=>
string(16) "pascal-martin.fr"
["type"]=>
string(2) "MX"
["pri"]=>
int(1)
["target"]=>
string(11) "mx0.ovh.net"
["class"]=>
string(2) "IN"
["ttl"]=>
int(14481)
}
}
ठीक है, मैं वास्तव में पता नहीं "क्यों" ... लेकिन कम से कम यहाँ कुछ संकेत दिए गए हैं ...
मुझे php दस्तावेज़ीकरण में कुछ और नहीं मिल रहा है; हां, तो मैं नहीं जानता कि अगर यह व्यवहार इरादा या :-(नहीं
वैसे भी है: सौभाग्य
संपादित करें: ठीक है, वहाँ वास्तव में के तहत समस्या किसी तरह का हो सकता है खिड़कियां, क्योंकि जब मैं लिनक्स के साथ की कोशिश, मैं मिलता है:
test.com के लिए:
$ php temp.php
Type = A : bool(true)
Type = MX : bool(false)
Type = NS : bool(true)
Type = SOA : bool(true)
Type = PTR : bool(false)
Type = CNAME : bool(false)
Type = AAAA : bool(false)
Type = A6 : bool(false)
Type = SRV : bool(false)
Type = NAPTR : bool(false)
Type = TXT : bool(false)
Type = ANY : bool(true)
और, pascal-martin.fr के लिए:
$ php temp.php
Type = A : bool(true)
Type = MX : bool(true)
Type = NS : bool(true)
Type = SOA : bool(true)
Type = PTR : bool(false)
Type = CNAME : bool(false)
Type = AAAA : bool(false)
Type = A6 : bool(false)
Type = SRV : bool(false)
Type = NAPTR : bool(false)
Type = TXT : bool(false)
Type = ANY : bool(true)
तो, न ही बात (हमेशा सच या हमेशा गलत) मैं खिड़कियों पर मिल गया ...
हो सकता है कि वहाँ कुछ की तरह, खिड़कियों पर , फ़ंक्शन हमेशा एमएक्स एंट्री की तलाश में है, दूसरे पैरामीटर को ध्यान में रखते हुए?
(बस एक बहुत जंगली अनुमान ^^)
यह किसी भी अन्य DNS रिकॉर्ड प्रकारों के लिए काम करता है? –
क्या प्लस मुझे लगता है कि लोगों को एक ही समस्या मिल रही है? – user121196
नहीं, वास्तव में मैंने किसी भी कोशिश की: \t गूंज ("test.com डीएनएस चेक:"। Checkdnsrr ("test.com", "कोई भी")); झूठी – user121196