Eso que comentas es completamente NORMAL! ..
Tu servidor HTTP cuando recibe una petición de una página .html .. la entrega sin más (al cliente: navegador) .. si le pides una .php .. la "asocia" al interprete de turno (en este caso a PHP) .. este la ejecuta y lo que resulte lo entrega tu servidor HTTP al cleinte.
Que tu página tenga que ser .php .. no implica que "toda" la página tenga que ser "PHP" .. de hecho en tu ejemplo (aunque no lo creas) ya estabas usando "HTML" eso sí .. sin ningún tag por médio ni definición de una página HTML standar (con sus <html> .. <body> .. etc ..)
Si requieres que la página sea .html hay solución para eso .. pero igualmente tienes que tener un ".php" (ese mismo) creado para que lo puedas llamar vía Javascirpt en tu página HTML común.
Sería algo tipo:
obten_ip.php Código PHP:
<?
echo "document.write('".$_SERVER['REMOTE_ADDR']."')";
?>
pagina_html_comun.html Código PHP:
<html>
<head>
</head>
<body>
<script languaje="javascript" src="obten_ip.php"></script>
</body>
</hmtl>
Un saludo,