ID: 13443
Updated by: jimw
Reported By: [EMAIL PROTECTED]
Status: Duplicate
Bug Type: Unknown/Other Function
Operating System: BSDI 4.1
PHP Version: 4.0.6
New Comment:

php does not require a local dns server to be running unless your system's C library 
gethostbyname() call does (which seems extraordinarily unlikely).

here's a small c program you can use to test your system's gethostbyname(). if it says 
that no ip address is found, that's the exact same situation in which php's 
gethostbyname() will return the original hostname.

#include <stdlib.h>
#include <stdio.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main(int argc, char **argv) {
  struct hostent *host;
  struct in_addr in;

  if (argc != 2) {
    fprintf(stderr,"usage: %s hostname\n", argv[0]);
    exit(1);
  }

  host = gethostbyname(argv[1]);

  if (host->h_length) {
    memcpy(&in.s_addr, *(host->h_addr_list), sizeof(in.s_addr));
    fprintf(stderr,"%s\n",inet_ntoa(in));
  }
  else {
    fprintf(stderr,"no ip address found for %s\n", argv[1]);
    exit(1);
  }

  exit(0);
}


Previous Comments:
------------------------------------------------------------------------

[2001-09-26 17:33:02] [EMAIL PROTECTED]

Does PHP require a local bind running?  Everything seems to point in that direction.  
The resolver libs are doing a lookup to the address of 0.0.0.0 vs. the servers as 
configured in resolv.conf.

;; Querying server (# 1) address = 0.0.0.0

------------------------------------------------------------------------

[2001-09-25 17:16:30] [EMAIL PROTECTED]

IMHO this is not the same as #13423, which is why I didn't list it in the original 
report.  Although the data returned is the same (hostname instead of IP address) the 
reason for the failure is seems very different.

------------------------------------------------------------------------

[2001-09-25 16:45:51] [EMAIL PROTECTED]

duplicate of 13423, among the others listed in the report. gethostbyname() returns the 
hostname it is passed when the C-level gethostbyname() call fails.

------------------------------------------------------------------------

[2001-09-25 16:22:34] [EMAIL PROTECTED]

This is basically the same report as 8754, 12678, and 8856.  The gethostbyname 
function returns the name instead of the IP address.  The host is configured correctly 
and names can be resolved from the shell using nslookup, dig, etc.  This bug first 
appeared in 4.0.4 (although I didn't know it until now) and is present in 4.0.6 and 
4.0.8-dev (php4-200109251335.tar.gz - latest from the snapshots dir as of 9/26/01).  I 
regressed the bug back to my previous version of 3.0.14 and the bug is not present in 
that version.  I have tried both gethostbyname (returns the name) and gethostbynamel 
(returns 0 items in the array).

------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=13443&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to