If you want to learn for for the sheer enjoyment then forget php, c++ or any of these languages.
Ruby will be the most rewarding in terms of both enjoyment and education.
Python is also a good option, but Ruby is a much more elegant language that will teach you to think in very unusual and helpful ways about problems.
C++ is a no no. You'll get bogged down with memory management and complex OO.
php is a *huge* no. You'll learn extremely bad habits and it's just a web language. It's ok for web stuff, but ruby on rails blows it out the water even in its own territory(web).
Ruby first, then 1-2 years down the line C for 6 months. After that I'd go for lisp or haskell to expand into functional programming and literally expand the mind.
After 1 year of functional languages you can then try out maybe C++ or Java, but there's nothing you can do with them that you can't achieve with Ruby. You can also use C within Ruby for any low level stuff.
Along the way and only after 1 year of studying ruby you can learn some javascript, specifically jquery etc.
Most important thing is don't study more than 1 language at once and I would *highly* recommend starting with Ruby.
My experience is 15 years of software engineering including several years of working for large corps as a programming team leader followed by a programming consultant before getting into IM. So judge for yourself the quality of my advice.
Good luck