Posted on: January 29, 2020 12:18 PM
Posted by: Renato
Categories: Variados
Views: 326
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 simples, monothread, 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 |
Donate to Site
Renato
Developer