PHP servidor web embutido

A partir da versão PHP 5.4+, você pode começar a aprender PHP sem a preocupação de ter que instalar e configurar um servidor web

Para exemplo vamos rodar o comando em um diretório vazio ou que não tenha um arquivo index, pode até ser no seu próprio home se desejar.

Então para iniciar o servidor, execute o seguinte comando no seu terminal aberto dentro do diretório de origem do seu projeto:

spartanix@T450s:~$ php -S localhost:8000

Ao executar obteremos no terminal algo como:

PHP 7.2.10 Development Server started at Sat Dec  8 11:28:01 2018
Listening on http://localhost:8000
Document root is /home/spartanix
Press Ctrl-C to quit.

Abrindo o navegador e acessando o endereço http://localhost:8000 veremos um erro já que não temos o arquivo index no diretório.

Imagem da mensagem de erro ao não encontrar index ou arquivo determinado.

Verificando a situação no terminal, podemos ver a mensagem de erro 404 para as requisições:

[Sat Dec  8 11:29:40 2018] 127.0.0.1:34600 [404]: / - No such file or directory
[Sat Dec  8 11:29:40 2018] 127.0.0.1:34604 [404]: /favicon.ico - No such file or directory

Indo além no nosso exemplo, vamos criar no diretório um arquivo de nome info.php contendo instrução  que solicita as informações do PHP instalado. Crie o arquivo como comando:

spartanix@T450s:~$ echo "<?php phpinfo(); ?>" >> info.php

Ao recarregar a página nada muda. Isso acontece porque o servidor continua procurando o arquivo index. Podemos acessar o arquivo info.php simplesmente acrescentando /info.php no final do endereço ou poderíamos renomear o arquivo para index.php, mas não é esse o objetivo aqui. O que quero demonstrar é que acessando direto podemos determinar que o arquivo inicial chamado pode ser qualquer outro que não o index. Então vamos encerrar o servidor no terminal pressionando Ctrl+c  e depois reativá-lo com o comando:

spartanix@T450s:~$ php -S localhost:8000 info.php

Pronto, ao recarregar o navegador é apresentada a página de informações do PHP instalado. Para isso só foi preciso acrescentar o nome do arquivo que deverá ser chamado ao entrar no endereço.

Imagem da página de informações do PHP.

Este servidor web embutido suporta uma série de formatos de arquivos (MIME types) e a lista aumenta conforme a versão do PHP avança. A princípio são suportados os MIME types com as extensões:  .3gp, .apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .gif, .gz, .gzip, .htm, .html, .ics, .jpe, .jpeg, .jpg, .js, .kml, .kmz, .m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg, .ogv, .pdf, .pdf, .png, .pps, .pptx, .qt, .svg, .swf, .tar, .text, .tif, .txt, .wav, .webm, .wmv, .xls, .xlsx, .xml, .xsl, .xsd, and .zip (verifique a situação atual no site do PHP citado nas fontes desta publicação).

Abraço e até a próxima.

Fontes:

Deixe uma resposta