¿Cómo ejecutar php con SimpleHTTPServer?

14

Acabo de encontrar este increíble consejo en el Apple SE:

Inicie un servidor web rápido desde cualquier directorio:

python -m SimpleHTTPServer 8000

¿Hay alguna manera de tener estos scripts php de análisis, o es para sitios solo html?

eykanal
fuente

Respuestas:

16

Acabo de encontrar esta respuesta de StackOverflow.

Básicamente, el servidor web de Python no está configurado para ejecutar archivos php de forma predeterminada, pero en lugar de intentar reconfigurar el servidor web de Python, simplemente puede ejecutar el servidor web de php, que funciona casi exactamente como el simple servidor HTTP de Python, con

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

Ejemplo:

php -S 127.0.0.1:80 -t .

o simplemente

php -S 127.0.0.1:80

para usar el directorio de trabajo actual.

Editar: Olvidé mencionar que parece necesario ejecutar esto como root si necesita usar el puerto 80, pero esto no es necesario si especifica un número de puerto más alto como 8080. ¡Gracias por señalarlo, Mike Houston!

TheGuyWithTheFace
fuente
Aparentemente, las cosas buenas les llegan a quienes esperan :) Ni siquiera me di cuenta de que php tenía esa funcionalidad. ¡Gracias!
eykanal
@eykanal Es una nueva característica en PHP 5.4. :-)
ceejayoz
1
Debe ejecutar como root si desea usar el puerto 80, pero si elige un número de puerto más alto (por ejemplo, 8080) debería estar bien como usuario estándar.
Mike Houston
No sabía que tenemos php en OSX por defecto. Esto es genial.
Aero Windwalker
1
También vale la pena mencionar que el servidor web PHP es solo para fines de desarrollo ... No tiene las características extendidas de decir apache ... Así que para el desarrollo sí ... Para sitios en vivo ¡NO!
Enojado 84
3

La biblioteca Python SimpleHTTPServer , llamada de esa manera, solo servirá archivos y no interpretará PHP (o python, para el caso). Sin embargo, puede hacer que sirva lo que quiera (incluido PHP, consulte CGIHTTPServer ) con un python personalizado envuelto alrededor de él.

Shane Madden
fuente
Entonces, como alguien que no conoce una puntada de python y realmente no quiere aprenderla ahora, ¿la respuesta es "no"?
eykanal
2
Eso es un "no", correcto.
Bill Weiss