If you want
absolute control over everything, I can recommend
Slicehost. They provide you with your own Linux “slice”, which you can SSH to and control from there. You can install whatever software you wish, e.g. PHP, MySQL, and Apache. But the drawback are of course that (1) it is a bit costly (but hey, you’re getting your own slice; you get what you pay for); and (2) you need a little bit of experience in working your way around the Linux command line.