Coding Horror does a long piece on the awfulness of PHP. It surprised me, frankly. I saw PHP as a good low level tool. I don't see it as a high-powered or high-level computer language. And maybe that's the key. There are a lot of computer languages in the world. You can either learn one really well, and use it as your tool to attack every problem, or you can learn a few and select one for the job.
I see PHP as a simple tool for creating the simple websites that make up 80 or 90 percent of our web universe. You certainly can create a restaurant's website, complete with menu, map, and daily specials, without taxing the language. You can do an auto dealer's site, list current inventory, and take service reservations.
At some point though, PHP will top out. It will be when the things you are trying to do become a bit too data intensive and computationally demanding. If you want your auto site to have a "build your car" page, first showing a wirefrime, and then showing it in your color, etc., that could be a bit much. You probably could do it in PHP, but then you'd run into the kind of frustrations Coding Horror shares with us.
That's my perspective as a former Java programmer, coming from a world where we were carrying around a lot MORE language and complexity than we needed for simple jobs.