php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #73149 dns_get_record(): A temporary server error occurred
Submitted: 2016-09-23 14:36 UTC Modified: 2021-07-15 10:42 UTC
Votes:115
Avg. Score:4.1 ± 1.0
Reproduced:111 of 111 (100.0%)
Same Version:19 (17.1%)
Same OS:20 (18.0%)
From: walter at oradio dot be Assigned:
Status: Open Package: Network related
PHP Version: 5.6.26 OS: Linux Mint 17 Qiana and Centos 7
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2016-09-23 14:36 UTC] walter at oradio dot be
Description:
------------
[regression] dns_get_record does not return false on dns server failure

When doing a nslookup for this domain: radioantwerpen.be the response is:

;; Got SERVFAIL reply from 83.149.80.123, trying next server
Server:		83.149.80.123
Address:	83.149.80.123#53

** server can't find radioantwerpen.be: NXDOMAIN

Note:
-----
This worked on PHP version 5.5x, but when I upgraded to 5.6.26 this error occurred. The same error occurs on the production server, which is a different machine with a different OS, but same PHP version.

This is a regression from bug: #53092  ( https://bugs.php.net/bug.php?id=53092 ) . It was closed in 2014.



Test script:
---------------
$url = "radioantwerpen.be";
$result = dns_get_record($url);
print_r($result);

Expected result:
----------------
return empty array

Actual result:
--------------
throws "Warning: dns_get_record(): A temporary server error occurred. in ..."
and returns nothing (no array)

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2021-02-24 15:30 UTC] idem84 at me dot com
Got PHP 7.2.34-13+ubuntu18.04.1+deb.sury.org+1 (cli) and same problem here, even @ doesn't help..
 [2021-05-28 11:24 UTC] cmb@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: cmb
 [2021-05-28 11:24 UTC] cmb@php.net
Is this still an issue with any of the actively supported PHP
versions[1]?

[1] <https://www.php.net/supported-versions.php>
 [2021-06-06 04:22 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 [2021-07-15 10:30 UTC] e6990620 at gmail dot com
This error is due to the fact that the default value for the $type argument is DNS_ANY, which is ignored by most DNS servers.

dns_get_record('radioantwerpen.be') doesn't work, but dns_get_record('radioantwerpen.be', DNS_A) does.


Source: https://dustri.org/b/a-short-tale-on-phps-dns_get_record.html
 [2021-07-15 10:42 UTC] cmb@php.net
-Status: No Feedback +Status: Open -Type: Bug +Type: Documentation Problem -Assigned To: cmb +Assigned To:
 [2021-07-15 10:42 UTC] cmb@php.net
Okay, changing to doc bug then.  Thanks!
 [2021-11-08 11:06 UTC] max at nextcloud dot com
We ran into this when querying for 'DNS_A', 'DNS_AAAA' or 'DNS_CNAME' records.

Code in question is here: https://github.com/nextcloud/server/blob/master/lib/private/Http/Client/DnsPinMiddleware.php#L83

It looks like this is independent of the type - just that 'DNS_ANY' requests are mor likely to cause a server failure.

However even with a server failure there should be a way to handle the situation - either by returning false or by throwing a well defined error that can be caught.
 
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Tue Jun 28 20:05:45 2022 UTC