I want to base the database a PHP script uses on the IP address of the
server running the script. What is the fastest way to get the IP address of
the server from a script? I could use environment variables but they are
unreliable (when run from cron for example, the environment doesn't have all
the variables you would expect). I wrote the following function based on a
Perl firewall script that uses ifconfig, but it has too much overhead to
call every time I connect to the database. All I really want to do is add a
conf variable to php.ini that gets read at startup and is cached from then
on. Any ideas?

Thanks!
Lance

----

// string gethostaddress([string])
//
// Returns the IP address of a network interface for the local host.
// Returns false on error or if the address cannot be determined.
//
// Note: This function shells the ifconfig command so call sparingly.
//
function gethostaddress($interface = "eth0")
{
        $inetaddr = false; // assume failure

        $ifconfig = `/sbin/ifconfig $interface`;
        if (ereg("inet addr:([.0-9]+)", $ifconfig, $ifconfigparts))
                $inetaddr = $ifconfigparts[1];

        return ($inetaddr) ? $inetaddr : false;
}


-- 
PHP General 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