There are lots of pros and cons of both.
Usually, if someone recommends PHP over ASP.NET, they code primarily in PHP.
Usually, if someone recommends ASP.NET over PHP, they code primarily in ASP.NET, too.
Let's show a real comparision (text in green is the winner):
Costs: PHP is free - ASP.NET is a Microsoft product
Scalability: Both are very scalable.
ASP.NET has Visual Studios and
PHP has a variety of frameworks.
Support: There are more
PHP tutorials website and explanations than ASP.NET. The PHP open-source community is free and fast.
Performance: LAMP (or NGINX library) which contains
PHP is a little faster than ASP.NET with MSSQL (or with MySQL instead). Linux has a much better I/O performance than Windows, so performance of
PHP is much faster.
Popularity: PHP is much popular than ASP.NET (form evidences)
Winner: PHP
PHP can do everything that ASP.NET can, and it can do it for free.