Uma das funcionalidades implementadas do PHP 5.4 é o servidor interno, que permite que você teste e desenvolva sites localmente sem a necessidade de servidores como Apache ou Nginx.
Este é um recurso que eu já havia visto em linguagens como Python e Ruby, mas (até onde eu sei) nunca haviam criado algo do tipo para PHP.
A sintaxe padrão do comando é a seguinte:
Então se quisermos abrir um servidor na porta 8080 local, seria assim:
Esse comando vai abrir um servidor com raíz na pasta atual, então você pode executar um site/script que esteja em qualquer lugar da sua máquina, e não apenas dentro da raíz pré-definida como acontecia com o Apache ou Nginx.
Arquivo de entrada e rotas (ou entry-point)
Esse servidor embutido do PHP não suporta aquivos .htaccess, então você precisará trabalhar a reescrita de URL através de um arquivo comumente chamado de entry-point:
Isso fará com que todas as requisições sejam redirecionadas para o arquivo index.php (na pasta onde o comando foi executado), e dentro desse arquivo você faz o controle/redirecionamento da requisição, por exemplo:
Espero que vocês tenham gostado (e façam um bom uso) dessa nova funcionalidade que o PHP 5.4 nos trouxe. :)
Não se esqueça de ler a documentação oficial: http://php.net/manual/features.commandline.webserver.php
Não use em produção!
This web server is designed for developmental purposes only, and should not be used in production.
Este servidor foi projeto apenas para desenvolvimento, e não deve ser usado em produção.
PHP 5.4.6
Atenção: Este artigo foi escrito baseado na versão 5.4.6 do PHP, em versões futuras esse comportamento pode mudar.