We all have our favorite programming language whether its php, python or ruby (and many others). They all have their own technical advantages in certain situations.
However I find myself making software decisions more and more on non-technical grounds. For instance PHP has a strong community and you can get help from just about anywhere. The same follows for many of its projects like wordpress. Its not the most architecturally brilliant php code framework but it does have a reasonable community and excellent documentation for end users and developers.
Python, which I like as a language, has some of the worst examples of community, at least if Freenode irc channel python is anything to go by. It suffers from constant fighting and hyper-egotistical posturing. I cringe inwardly ever time I see it and wonder how often newbies are put off the language for the sheer nastiness there.
However, Django is a nice web framework, written in Python, and with excellent online documentation. In fact many python projects tend to have good documentation.
Ruby on the other hand is a language with great potential but unfortunately has something of an elitist culture. Ruby is most famous for the Rails web framework however Rails is not adequately documented. Nevertheless there are some excellent books available for purchase. (I don’t like buying printed books because they become obsolete so quickly.) If you want to become a proficient Rails developer expect to shell out some money. For this reason Rails seems to thrive in the business culture but not so good for personal projects. I have tried other ways of getting help with Rails, forums and such, but I find that anything other than simple questions tend to remain as unanswered posts. Such a shame I think.
For that reason I prefer python for very technical work. The online documentation has always been very good.
However I am learning to like PHP, not for technical reasons, but for its strong helpful community.