Como executar php com SimpleHTTPServer?

14

Acabei de encontrar esta dica incrível no Apple SE:

Inicie um servidor da web rápido a partir de qualquer diretório:

python -m SimpleHTTPServer 8000

Existe uma maneira de ter esses scripts de análise de php, ou é apenas para sites html?

eykanal
fonte

Respostas:

16

Acabei de encontrar esta resposta do StackOverflow.

Basicamente, o servidor web do python não está configurado para executar arquivos php por padrão, mas em vez de tentar reconfigurar o servidor web do python, você pode simplesmente executar o servidor web do php, que funciona quase exatamente como o simplehttpserver do python, com

php [options] -S <addr>:<port> [-t docroot]

Exemplo:

php -S 127.0.0.1:80 -t .

ou simplesmente

php -S 127.0.0.1:80

para usar o diretório de trabalho atual.

Edit: Esqueci de mencionar, parece ser necessário executá-lo como root se você precisar usar a porta 80, mas isso não é necessário se você especificar um número de porta maior como 8080. Obrigado por apontar isso, Mike Houston!

TheGuyWithTheFace
fonte
Aparentemente, as coisas boas que vêm para aqueles que esperar :) nem percebi php tinha essa funcionalidade. Obrigado!
21714 eykanal
@eykanal É um novo recurso do PHP 5.4. :-)
ceejayoz
1
Você precisa rodar como root se quiser usar a porta 80, mas se escolher um número de porta mais alto (por exemplo, 8080), deverá estar bem como usuário padrão.
Mike Houston
Não sabia que temos php no OSX por padrão. Isso é ótimo.
Aero Windwalker
1
Também vale ressaltar que o servidor da web PHP é apenas para fins de desenvolvimento .. Ele não possui os recursos estendidos do say apache .. Portanto, para o desenvolvimento sim .. Para sites ao vivo NÃO!
Angry 84
3

A biblioteca python SimpleHTTPServer , chamada dessa maneira, servirá apenas arquivos e não interpretará PHP (ou python, nesse caso). No entanto, você pode fazer com que ele sirva o que você quiser (incluindo PHP - confira CGIHTTPServer ) com algum python personalizado em volta dele.

Shane Madden
fonte
Então, como alguém que não conhece um ponto de python e realmente não quer aprender agora, a resposta é "não"?
eykanal
2
Isso é um "não", correto.
Bill Weiss