i've seen site outages in large companies due to these sorts of bugs. multiple times. this is a major set of problems that you avoid by having a memory model that fits the domain (http services). php sort of did it by accident, but it works. BEAM gets this right as well.
I don't know how many times I tried to run a php web app just to find out a random php5-* extension was missing, and then having to guess which one.
However, if you do want an elegant solution for your problem, may I recommend ruby-install[1] and the companion for easily changing between versions, chruby[2]. Alternatively, you could try RVM[3].
There are a couple more versions (one is even specifically designed for Windows), but I found ruby-install and chruby to be the most convenient ones for both personal and professional use.
[1] https://github.com/postmodern/ruby-install [2] https://github.com/postmodern/chruby [3] https://rvm.io/
...except PHP.
I'm not trying to bash Ruby, but I haven't done any programming with it for about 6 years. I just want to get some web thing running on my home server, or get some gems installed for Compass or whatever (which to be fair is now a lot easier with bundler).
What I don't want to do is figure out how RVM works for the third time and how to install it globally instead of just for my user account so Apache site one can use one version and Apache site two can use another.
Everything in that world changes every year and if you're not keeping up it's a huge mess.
Unless you install PHP with a certain prefix—which you can do for other languages—I don't see how PHP solves the problem.
C?
Also, there's the problem with platform portability (in terms of compiler "oddities", not system libraries) which I won't get into, because it's a hairy subject. :)