Ejecutar php sin servidor web

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

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]

Fuente: http://www.enmimaquinafunciona.com/pregunta/12982/como-ejecutar-php-con-simplehttpserver

Fuente: http://www.enmimaquinafunciona.com/pregunta/12982/como-ejecutar-php-con-simplehttpserver

Fuente: http://www.enmimaquinafunciona.com/pregunta/12982/como-ejecutar-php-con-simplehttpserver

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 http://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:

captura-de-pantalla-de-2016-09-08-082931

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 http://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 http://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.