2011-12-04 9 views
21

Sí, hay un servidor web incorporado en la próxima versión de PHP 5.4 que puede probar en sus versiones de lanzamiento (también encontré esto recientemente)Ejecutando PHP 5.4 servidor web incorporado fuera de localhost

http://php.net/manual/en/features.commandline.webserver.php

lo que necesito ayuda para saber es, ¿hay alguna manera de hacer que se ejecute en los nombres de dominio distintos de localhost (que está funcionando muy bien en el servidor local, el puerto 80)? Incluso 127.0.0.1 no funciona. He puesto nombres de host ficticios en mi archivo hosts para señalar a 127.0.0.1 y tampoco funcionan. Entiendo que es solo un candidato de lanzamiento, pero me gustaría saber si alguien más ya ha encontrado una solución para este problema, de modo que pueda probar mi aplicación con el nombre de dominio real que apunta a 127.0.0.1 en mi archivo de hosts. El sistema operativo es Windows 7 Professional SP1.

cosas que ya han intentado: 1. googlear (duh) 2. Mirando a través de php.ini para las opciones 3. Probando 127.0.0.1, mi IP LAN, WAN mi IP con el puerto 80 remitido y NAT Problema de bucle invertido (enrutador que ejecuta DD-WRT)

+0

Si es un * servidor web * que estar mejor en SuperUser o ServerFault, este sitio web estaría orientado a * programación real con PHP *. – animuson

+0

No estoy exactamente seguro de si pertenece, ya que esto es algo integrado en PHP y probablemente tenga algo que ver con la configuración de PHP. ¡Gracias por la sugerencia de todos modos! – Shanshui

+0

Lo pensé un poco, y creo que tienes razón. Acabo de marcar mi propia pregunta para que se mueva a ServerFault. Con suerte, un moderador vendría pronto. – Shanshui

Respuesta

52

Hice estas pruebas en un sistema Windows XP, pero debería funcionar igual en Linux también modificando los comandos.

ejecutar el servidor de prueba de PHP como esto:

C:/php/php.exe -S 0.0.0.0:80 
or 
/usr/bin/php -S 0.0.0.0:80 

0.0.0.0 se unirá a todas las direcciones IP disponibles en el sistema.

En otra máquina de la red, configuré el archivo de hosts para apuntar a la IP interna del sistema que ejecuta PHP utilizando un dominio personalizado. Esto no es 127.0.0.1 ya que se refiere al host local, en mi caso apunté mi PC principal a 192.168.88.247 que era la máquina XP que ejecuta PHP. Tenga en cuenta que el firewall debe estar desactivado o configurado para permitir el tráfico en el puerto 80 en la máquina que ejecuta php.

Configuré mi enrutador para el tráfico de reenvío de puerto externo 80 a 192.168.88.247:80. Luego, usando un archivo de hosts en una PC desde una red externa, configuré el dominio falso para apuntar a mi IP WAN. Pude acceder al servidor web PHP externamente.

Dicho esto, es solo un servidor para probar, por lo que puede haber riesgos de seguridad desconocidos que lo abren al mundo exterior.

Espero que te ayude.

+0

¡Gracias por ese consejo de 0.0.0.0! – Shanshui

+0

¡Gracias por la sugerencia de 0.0.0.0! también ... ;-) – ZEE

+0

cómo hacer que acepte conexiones solo desde hosts preespecificados? –

Cuestiones relacionadas