Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github
New in version 2.6: A capacidade de executar o servidor como um processo em background foi introduzido no Symfony 2.6.
Desde o PHP 5.4 o CLI SAPI vem com um servidor web embutido. Ele pode ser usado para executar suas aplicações PHP localmente durante o desenvolvimento, para testar ou para demonstrações da aplicação. Desta forma, você não tem que se preocupar em configurar um servidor web com todos os recursos, como o Apache ou o Nginx.
Caution
O servidor web embutido é feito para ser executado em um ambiente controlado. Ele não foi projetado para ser usado em redes públicas.
Executar uma aplicação Symfony utilizando o servidor embutido do PHP é tão fácil quanto executar o comando server:start:
$ php app/console server:start
Isso inicia o servidor web em background no endereço localhost:8000 que serve a sua aplicação Symfony.
Por padrão, o servidor web escuta na porta 8000 no dispositivo de loopback. Você pode mudar o socket passando um endereço IP e uma porta como um argumento de linha de comando:
$ php app/console server:run 192.168.0.1:8080
Note
Você pode usar o comando server:status para verificar se um servidor web está escutando em um determinado socket:
$ php app/console server:status
$ php app/console server:status 192.168.0.1:8080
O primeiro comando mostra se a sua aplicação Symfony será um servidor em localhost:8000, o segundo faz o mesmo para 192.168.0.1:8080.
Note
Antes do Symfony 2.6, o comando server:run era utilizado para iniciar o servidor web embutido. Esse comando ainda está disponível e se comporta de forma ligeiramente diferente. Em vez de iniciar o servidor em background, ele irá bloquear o terminal atual até você terminá-lo (isso geralmente é feito pressionando Ctrl e C).
O servidor web embutido espera um script “router” (leia sobre o script “router” em php.net) como um argumento. O Symfony já passa um script router quando o comando é executado no ambiente prod ou dev. Use a opção --router em qualquer outro ambiente ou use outro script router:
$ php app/console server:start --env=test --router=app/config/router_test.php
Se o diretório raiz da sua aplicação é diferente do sistema de diretórios padrão, você tem que passar o local correto usando a opção --docroot:
$ php app/console server:start --docroot=public_html
Quando terminar, você pode simplesmente parar o servidor web usando o comando server:stop:
$ php app/console server:stop
Assim como o comando start, se você omitir a informação socket, o Symfony irá parar o servidor web associado a localhost:8000. Basta passar as informações de socket quando o servidor web escuta outro endereço IP ou a outra porta:
$ php app/console server:stop 192.168.0.1:8080