El dominio y el servidor (hosting) lo necesitas cuando vas a publicar tu sitio web para que todos puedan verlo, pero puedes instalar un servidor local (apache+php+mysql) en tu computadora para trabajar con tus archivos php, es decir puedas ver el html generado por ellos.
te dejo un link de como puedes configurar el servidor local en tu computadora
http://josmx.com/apache-php-mysql-en-windows-7