Просто для того, щоб подати інформацію про те, на чому я грунтуюся на своїх відповідях, я займався розробкою PHP професійно протягом 6+ років, я грав разом з ASP.NET MVC протягом останніх 3-4 місяців, і я займався C # програмування приблизно до тих пір, як програмування PHP.
Для мене це більше аргумент PHP vs C #, ніж PHP проти ASP.NET.
Особливості / розширюваність
Я думаю, що тут виграє ASP.NET, і це більше через можливість використовувати мову, як C #. C # є набагато кращою мовою, ніж PHP, з нею йде підтримка ОО Я також людина, яка надає перевагу мові, яка набирається статично (навіть думаючи про C # 4.0, я вважаю, що ви можете робити динамічно набрані змінні). Єдине, що PHP мав понад C #, що стосується мовної функції, це необов'язкові параметри, але це інша річ, яка була додана в C # 4.0 (не впевнений, наскільки добре вона працює, як я ще не пробував її).
Безпека
Я б, мабуть, сказав, що це миття між двома. Я думаю, що в обох є функціонал, який допомагає забезпечити безпеку, але в кінцевому підсумку робота програміста - забезпечити безпеку їх застосування.
Frameworks
Well PHP, здається, має набагато більше мейнстрімів (CakePHP, Codeigniter, Symfony, Zend Framework) та багато інших менших фреймворків, ніж ASP.NET. ASP.NET має 2 основні фреймворки від Microsoft, WebForms (цілковита лайна) та ASP.NET MVC (причина, по якій я почав потрапляти в розробку ASP.NET). Хоча PHP має більше фреймворків, я вважаю, що рамка ASP.NET MVC 3 краща за будь-яку з фреймворків PHP.
Середній час розробки
Я думаю, що для менших проектів час розробки набагато кращий у PHP, проте, оскільки ваш проект збільшується в розмірі, C # збільшується в цьому плані краще.
Вартість
Деякі, які слід підняти - це вартість. На цьому фронті виграє PHP. Хоча ви можете запускати ASP.NET на Mono в Linux, у нього виникають власні проблеми.
Якщо ви робите проект від малого до середнього розміру та / або вартість є фактором, PHP виграє. Якщо ви робите масштабний проект, я вибрав би ASP.NET w / C # & ASP.NET MVC.