One of the most confusing decisions that IT policy makers of companies come across is which way to go .NET or PHP. Both have their merits and limitations. Deciding one is entirely dependent upon your budget, technical skills, requirements and your overall corporate methodology.
PHP is the most popular open source programming language used to build web-sites that rely upon dynamic content. PHP is free and so are almost all of its supporting tools, platforms, databases and even OS. Being Open Source it got good support, code snippets and helps at various on-line open source forums. It even got Zend optimizer which compiles the code and makes code much faster and hence making it almost equivalent to other compiled web programming options. It is fairly easy to get a PHP programmer and many of the times if you have budget constraints, you can get freelancers with excellent skills in PHP.
.NET is really a framework, that consist of a framework with support of various programming languages e.g. C#, ASP.NET, VB.NET etc. Like many good things except air, water, sun nothing is free in the world and so is .NET However it does come up with excellent support from Microsoft, provides excellent help documentation, has excellent professionals (though none of them are cheap) to sort out any issues. Also since it is a complete framework it is used for things way above than building simple web-sites.
So, in summary if you have limited IT budget and your requirement is to build a site or some other similar web based applications, then PHP may be a better choice. However if you have some budget and your requirement goes further beyond a simple web-site, and you are looking for some great dedicated support and dependency upon more solid programmers, .NET is the way to go.