On a domain name (AaronZoller.com) that I own with a host that I pay for... That's how I do my PHP.
Many hosts today support PHP, but that's something you'll have to ask your host about. Not sure what the free hosts are doing these days (besides selling your email addresses).
You can also download everything you need to run PHP at home and test it there.
The very nature of open-source is that you don't need to spend lots of money. In fact, I am downloading Linux Red Hat 7.3 right now at home (about 1.5 gigs) and it is all totally legal.
AaronZoller.com