I would suggest a three part method to success.
First, know what you do know and don't chase after everything you don't know. If you are good at php, use it. If you understand rails, use it. If you are a master of all things RDBMS, use one. When you are looking to tackle a problem, don't look for a new technology, language, or paradigm to solve the problem. Use what you already know, and solve the problem.
Second, solve the problem. Also, don't pick a technology and then try to shoe horn that into the solution. In other words, when you have a new project, or an existing project that needs improvement, don't say, "Well I am going to need a, b, c, and d because every good project needs those!" Instead say, "What is the problem I am trying to solve? How do I define the problem? What value am I bringing?" Then find technologies and solutions to fit into the answers to those questions.
Finally, learn new things incrementally. For example, maybe you are working on a web project and need a good mobile first css framework (due to the answers you received from the questions in the second part above). You always use Bootstrap. You add bootstrap into the project (because you know bootstrap, see the first part above). You've never used Sass but you'd like to add that. This might be the right time to add it to your skill set and this project. Notice how you didn't add a whole new css framework, a whole new application framework, a whole new language, a new server technology, a new javascript framework... you added one new thing incrementally. You can do that as often as it makes sense. But never more often.