Maybe you can try something with fopen or file_exists? For example:
PHP Code:
if (file_exists('/path/to/file/on/the/other/computer') == true) {
// computer is online
else {
// computer is offline (or file doesn't exist, so make sure the file does exist)
}
Something like that maybe?
I've never had to something like this to be honest, and I don't know of any other practical way (short of using shell and ping like you mentioned).