I have two VPSs running Ubuntu, one is openvz and the other is Xen. Neither seems to know its own IP address as evidenced by the phpsysinfo script I've run on both. The "listening IP" field is blank. I didn't have this problem with my previous dedicated server that ran the same script but on Windows.
It appears that somehow PHP doesn't have the SERVER_ADDR superglobal defined. Any idea how I can fix this? I'm running PHP 5.2.6.
What web server are you running? It could be it's not passing on SERVER_ADDR on, it could be HTTP_HOST only or something of that sort. Make a phpinfo() page and take a look at what variables are provided under "Environment".