Documentação do Symfony - versão 3.1
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
:
1 | $ 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:
1 | $ 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:
1 2 3 | $ 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:
1 | $ 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
:
1 | $ php app/console server:start --docroot=public_html
|
Quando terminar, você pode simplesmente parar o servidor web usando o comando
server:stop
:
1 | $ 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:
1 | $ php app/console server:stop 192.168.0.1:8080
|