My main beef with PHP is that the most deployed applications that use it are some of the most difficult to manage and messy pieces of code that I've ever seen.
I'm talking about Wordpress and vBulletin.
While MVC isn't the only valid design pattern, some varient of it is rather nice when working with websites and these two seem to ignore it through and through. Testing? What's that?
I know that better can be written in PHP, but for apps that I've had to deal with, PHP normally looks like an overpowered scripting language that's just a mess. I'll stay with Rails and Sinatra when I can.