After setting up php and MySQL on one of my local computers, I used Dynamic DNS (
www.dyndns.com) along with a IP updater client (available on that site) to establish a site for someone on a temporary basis. Just had to configure my router to allow inbound traffic for port 80.
It wasn't a very pretty or easy to remember URL, as it was a sub-domain of theirs, but it worked nonetheless.
Failing that, there are many hosts that can provide you with a true domain name and suitable web space for your own site for about $50 or $60 per year.
It is well worth that price alone just to have a 'real' site without all that advertising and/or upgrade notices, as I hesitate to participate anywhere that does.