2 Answers
+ 12
from what I know, and you should take my word lightly since I don't have experience with this:
ruby (on rails) is what you use when you want a backend for a small site fast.
python (flask) is what you use when you want a small to medium site with more control than ruby
python (django) is what you use when you want full control for a big site
php... not sure. but it's an ugly poorly designed language. however, it's also very widely used.
I hope some other can pitch in and give more accurate info
+ 3
@Ahri...looks like a good answer to me. The distinctions of small/medium/large implies capabilities, I like Python and I really don't feel like defending PHP.
@akash: Some reading, probably just skim:
.. https://www.sitepoint.com/getting-started-with-mvc/
.. http://www.comentum.com/ruby-on-rails-vs-php-comparison.html