Hoy continuo realizando un proyecto, he tenido la necesidad de ver vía navegador parte de código antiguo que esta en php, pues bien, normalmente suelo ejecutar :
python -m SimpleHTTPServer 80
or
python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 ...
192.168.1.90 - - [08/Sep/2016 08:40:21] "GET / HTTP/1.1" 200 -
192.168.1.90 - - [08/Sep/2016 08:40:51] "GET /test HTTP/1.1" 200 -
Esto va muy bien si lo que necesitas ver es html o descargar algún fichero, normalmente lo utilizo para descargar algún pdf o música al móvil, entre otras.
El problema que surgía hoy es que tenia un antiguo proyecto en php, puedo arrancar alguna maquina virtual, subir el proyecto y listo, pero, por que no lo puedo visualizar desde mi equipo tal y como esta, la solución esta en php.
En mi caso como ejecutable php tengo el siguiente binario :
/usr/bin/php5
Este lo utilizo por consola para ejecutar algunos scripts en php.
Ahora bien, ¿como hago para poder poner en escucha el equipo en el puerto 80 y poder interpretar en código php?
Se hace de la siguiente forma:
Accedemos como superuser al directorio donde tenemos nuestro código php y ejecutamos:
php5 -S 127.0.0.1:80 -t .
php5 [options] -S <addr>:<port> [-t docroot]
Si os fijáis hay un punto al final, este indica el directorio actual, también podríamos indicar el directorio a publicar :
php5 -S 127.0.0.1:80 -t /home/test/project_php
De esta forma se pone a la escucha.
PHP 5.6.17-3 Development Server started at Thu Sep 8 08:26:26 2016
Listening on https://127.0.0.1:80
Document root is /home/test/project_php
Press Ctrl-C to quit.
Si accedemos vía navegador, veremos como se ejecuta correctamente:
También podemos observar a que fichero hemos accedido, con su código de estado:
PHP 5.6.17-3 Development Server started at Thu Sep 8 08:26:26 2016
Listening on https://127.0.0.1:80
Document root is /home/test/project_php
Press Ctrl-C to quit.
[Thu Sep 8 08:27:45 2016] 127.0.0.1:60148 [200]: /info.php
php5 -S 192.168.1.90:80 -t /home/test/project_php
PHP 5.6.17-3 Development Server started at Thu Sep 8 08:36:21 2016
Listening on https://192.168.1.35:80
Document root is /home/test/project_php
Press Ctrl-C to quit.
[Thu Sep 8 08:36:25 2016] 192.168.1.33:60045 [200]: /info.php
[Thu Sep 8 08:36:26 2016] 192.168.1.33:60046 [404]: /favicon.ico - No such file or directory
[Thu Sep 8 08:36:26 2016] 192.168.1.33:60047 [404]: /favicon.ico - No such file or directory
Bien de una forma u otra podemos interpretar el código php para visualizarlo en el navegador, también recordemos como lo hemos hecho con python.