Started using PHP right after it was released when it still stood for "Personal Home Page".
At the time, the alternative binding methods for server side scripting was extremely crude. I was actually experimenting with a server-side Java integration, but dropped it as soon as I saw PHP.
I have developed 10's of thousand's lines of code in PHP, and used it to prototype a lot of features i put into my Java framework.
The support libraries, and online help are second to none. The underlying problem is the same as other dynamic scripting languages, and that is no compile time checking and extremely difficult to refactor.
Even recently I talked to someone who principally develops in PHP and it still sounded like he was in the dark ages.
It is well-suited for a small website with at most a few thousand lines of custom code. Otherwise you will be doubling the effort writing test cases.
I wrote a medium-sized framework in PHP, and was able to take advantage of a lot of cool built-in features like overriding the class loader to dynamically load framework classes as needed without having to use require for every dependency, but after not working with it for several months, I dare not make any significant changes without a lot of testing.
Still great for quick little web functionality or prototyping!