Peter Alien, tanto o PHP como o ASP são linguagens de scripting "server-side", ou seja, requerem um serviço no servidor para serem executadas:
## ASP
Como disse a Ophelia, corre sobre IIS (Internet Information Service) ou PWS (Personal Web Server), ambos da Microsoft e disponíveis com os seus sistemas operativos (PWS no Win98 e IIS do NT4 para cima).
Tudo que se relacione com ASP é a pagar.
## PHP
Esta linguagem corre sobre o Apache, um serviço HTTP disponível tanto para Windows como para Linux/*nix (favorece estes últimos), e corre nos mesmos SOs que ele.
Tanto o PHP como o Apache são Open Source e estão disponíveis gratuitamente na web.
A nível de bases de dados, ASP recorre tradicionalmente a Access ou SQL Server, enquanto que com o PHP o mais comum é vê-lo ligado a MySQL ou PostgreSQL.
Como eu uso PHP e Apache, deixo aqui algumas informações / opiniões sobre estes:
- O Apache é o serviço HTTP mais utilizado no mundo, correndo em mais de 50% dos servidores web.
- Devido à sua característica Open-Source, tanto o Apache como o PHP dispõem de módulos "after market" que ampliam as suas funcionalidades e são desenvolvidos tanto por entusiastas como por empresas comerciais. Alguns são grátis, outros nem por isso.
Um bom exemplo de um desses módulos é um que permite ao Apache correr páginas ASP.
- Na minha opinião, o PHP inclui, out-of-the-box, mais funcionalidades que o ASP. Mas os módulos comerciais para este último têm melhor suporte técnico.
- Uma implementação típica de PHP é considerada por muitos mais rápida que uma implementação típica de ASP, numa mesma plataforma de hardware. Isto é obviamente discutível e prefiro não aprofundar...
- A configuração de uma combinação Apache + PHP, em linux, é provavelmente mais complexa do que uma IIS + ASP em windows. Mas já há ferramentas gráficas que aliviam um bocado esta questão.
Bom, espero ter sido útil.