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?

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!


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.