1. A programming language is not scaled with how easily you can built an application. But its robustness, flexibility, speed etc measure the performance. PHP in all segments leave ASP.NET many miles behind.
2. PHP is a fast growing language and growing much faster than ASP.NET.
3. It has innumerable built in functionalities and has support of many external libraries. Combine the flexibility, and PHP is the winner.
4. Support of Apache, the best web server and MySQL, undoubtedly one of the leaders of RDBMS makes it a perfect combination.
5. Platform in-dependency. ASP.NET can run only in WINDOWS-IIS
6. Web server in-dependency.
7. Highest fault tolerance with safe mode support.
and there are plenty of reasons.