IP of server?
| From: | Lance Lovette | Date: | Wed, 28 Mar 2001 19:27:31 +0000 |
| Subject: | IP of server? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-45945@lists.php.net to get a copy of this message | ||
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;
}