In a recent post to his blogDavey Shafik proposes that you take a look from another angle when considering what to use for a project (PHP, .NET, Java, etc) - think people, not so much technology.

One of the biggest decisions you can make for any project is the environment it which the project will be written. Most developers mistake the word environment for the word "technology" or "software". [...] With this in mind, I then would say that the language capabilities themselves, are the least important factor in choosing your environment. This then brings me neatly to what else that environment encompasses. These, to me, fall into three categories. People, knowledge and penetration.

By breaking it out into these three categories you can better understand what the project needs and which direction it might need to go: can you find skilled people to write the code? do they have access to good resources during development? what kind of market penetration does the technology have?

He evaluates each of these from a PHP perspective with the result of PHP having "the trifecta" - filling all of the requirements to their fullest.