On Reddit.com there's a long thread with responses to the question "What are some genuine criticisms of PHP?" with opinions ranging from small issues (like syntax) out to more community-related topics.
PHP tends to get a lot of flak, but mostly it is for something that isn't really the fault of PHP. Things like "there is so much bad PHP code out there" may be true but you can write bad code in any language. You shouldn't be mixing PHP, SQL and HTML, and you should be escaping/parameterizing variables for queries. (Thankfully this is less prevalent nowadays.) So do many PHP criticisms actually hold true today, now we have namespaces and we have buried crap like magic quotes at the bottom of the ocean?
Other comments cover things like
- PHP's namespace implementation
- poor web services support
- Less code audits, more "roll-your-own fever"
- Function naming and parameter order
- weak OOP functionality
Check out the full post for lots more opinions and add yours too!