conflicting gethostbyname behaviors

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • yawnmoth

    #1

    conflicting gethostbyname behaviors

    I seem to be getting conflicting gethostbyname behavior on different
    servers. Before going into detail, here's the script I'm using:

    <?
    $address = $HTTP_SERVER_VA RS['REMOTE_ADDR'];
    $rev = implode('.',arr ay_reverse(expl ode('.', $address)));

    $lookup = "$rev.l1.spews. dnsbl.sorbs.net ";
    echo gethostbyname($ lookup);
    echo '<br />';
    echo $lookup;
    ?>

    On server A, the output I get is as follows:

    176.115.112.70. l1.spews.dnsbl. sorbs.net
    176.115.112.70. l1.spews.dnsbl. sorbs.net

    On server B, the output I get is this:

    195.69.95.204
    176.115.112.70. l1.spews.dnsbl. sorbs.net

    As I understand it, server A's output is the correct output - not
    server B's.

    Server A is running PHP Version 4.4.1 with Apache/1.3.34 while server B
    is running PHP Version 4.3.11 with Apache/2.0.52. I'd like the above
    script, however, to work just as well on server A as it does on server
    B.

    Any ideas as to how I might go about doing this or what the problem is?
    Any help would be appreciated - thanks!

  • Erwin Moller

    #2
    Re: conflicting gethostbyname behaviors

    yawnmoth wrote:
    [color=blue]
    > I seem to be getting conflicting gethostbyname behavior on different
    > servers. Before going into detail, here's the script I'm using:
    >
    > <?
    > $address = $HTTP_SERVER_VA RS['REMOTE_ADDR'];
    > $rev = implode('.',arr ay_reverse(expl ode('.', $address)));
    >
    > $lookup = "$rev.l1.spews. dnsbl.sorbs.net ";
    > echo gethostbyname($ lookup);
    > echo '<br />';
    > echo $lookup;
    > ?>
    >
    > On server A, the output I get is as follows:
    >
    > 176.115.112.70. l1.spews.dnsbl. sorbs.net
    > 176.115.112.70. l1.spews.dnsbl. sorbs.net
    >
    > On server B, the output I get is this:
    >
    > 195.69.95.204
    > 176.115.112.70. l1.spews.dnsbl. sorbs.net
    >
    > As I understand it, server A's output is the correct output - not
    > server B's.
    >
    > Server A is running PHP Version 4.4.1 with Apache/1.3.34 while server B
    > is running PHP Version 4.3.11 with Apache/2.0.52. I'd like the above
    > script, however, to work just as well on server A as it does on server
    > B.
    >
    > Any ideas as to how I might go about doing this or what the problem is?
    > Any help would be appreciated - thanks![/color]

    Hi,

    Did one of them change recently their name maybe?
    PHP caches lookups. (Or rather Apache does if I understand it well).

    What MIGHT help are some usercontributed notes on www.php.net:

    Two possibilities:
    1) restart Apache (in case of caching DNS-problem)
    2) Do not use gethostbyname, but use 'dig' instead.

    Just go to www.php.net and look up the function for details.

    Regards,
    Erwin Moller

    Comment

    Working...