Como usar o servidor nativo do PHP

Até o PHP 5.3, era necessário instalar um Servidor Web, como o Apache, Nginx ou IIS, para executar scripts PHP pelo navegador.

Em ambientes de desenvolvimento, onde há, em geral, apenas um usuário fazendo requisições HTTP para os testes, é um exagero rodar Apache para isso. É como matar formiga com canhão.

Felizmente, a partir do PHP 5.4, há um servidor nativo para testes locais. Assim, não é necessário instalar um servidor web em seu ambiente de desenvolvimento.

Vale lembrar que esse é um servidor simplesmonothread, apenas para testes. Não o utilize em ambientes de produção!

Tendo o PHP 5.4, instalado, vá até o diretório onde deseja executar o servidor (raiz do seu projeto web), e executar no Terminal (Console, Prompt ou seja lá como queira chamá-lo) o seguinte comando:

cd diretorio/do/seu/projeto/web
php -S localhost:8080

localhost é o endereço. Pode ser um IP (127.0.0.1, por exemplo) ou um hostname, como localhost. A porta pode ser qualquer porta livre. Usei 8080 como exemplo, mas poderia ser a própria porta 80, desde você tenha permissão para usar portas abaixo de 1024 (é necessário ser root para isso).

Após isso, pode acessar o endereço http://localhost:8080 em seu navegador, e verá seus arquivos. Para encerrar o servidor, basta digitar, no terminal, CTRL+C.

Esse servidor não possui suporte a Mod Rewrite, então não é possível usar .htaccess, como no Apache ou no Nginx.

Porém existe uma forma de obter o mesmo comportamento. Basta usar um arquivo de rotas.

Crie o arquivo route.php (ou outro nome que preferir) com este conteúdo:

<?php
 
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    // exibe o arquivo requisitado
    return false;
}
else
{
    // exibe sempre a index.php
    include __DIR__ . '/index.php';
}

Isso fará com que todas as requisições (exceto imagens) sejam enviadas para o arquivo index.php.

Depois basta iniciar o servidor chamando o arquivo de rotas:

php -S localhost:8000 route.php

 

Renato 2018

Renato Lucena

Developer PHP, Laravel. Goiania-GO https://www.linkedin.com/in/renato-de-oliveira-lucena-33777133/

Você pode gostar...