Подтвердить что ты не робот

Запуск PHP 5.4 встроенного веб-сервера за пределами локального хоста

Да, есть встроенный веб-сервер в предстоящем выпуске PHP 5.4, который вы можете попробовать в своих кандидатах на выпуск (я об этом недавно узнал!)

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

Что мне нужно, чтобы выяснить, есть ли способ заставить его работать с именами доменов, отличными от localhost (он работает нормально на localhost, порт 80)? Даже 127.0.0.1 не работает. Я поставил фиктивные имена хостов в файл моих хостов, чтобы указать на 127.0.0.1, и они тоже не работают. Я понимаю, что это просто кандидат на выпуск, но я хотел бы знать, есть ли у кого-либо еще решение для этой проблемы, чтобы я мог проверить свое приложение с фактическим именем домена, указывающим на 127.0.0.1 в файле моих хостов. ОС - Windows 7 Professional SP1.

Вещи, которые я уже пробовал: 1. Googling (duh) 2. Просмотр php.ini для опций 3. Попытка 127.0.0.1, мой IP-адрес локальной сети, мой IP-адрес WAN с переадресацией порта 80 и исправлением ошибки петли NAT (маршрутизатор с DD-WRT)

4b9b3361

Ответ 1

Я провел эти тесты в системе Windows XP, но должен работать так же и в Linux, изменяя команды.

Запустите тестовый сервер PHP следующим образом:

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

0.0.0.0 будет связываться со всеми доступными IP-адресами в системе.

На другом компьютере в сети я настроил файл hosts, чтобы указать на внутренний IP-адрес системы, на которой запущен PHP, используя собственный домен. Это не 127.0.0.1, поскольку это относится к локальному хосту, в моем случае я указал мой основной компьютер на 192.168.88.247, который был машиной XP с PHP. Обратите внимание, что брандмауэр должен быть отключен или настроен так, чтобы разрешить трафик на порту 80 на компьютере, на котором запущен php.

Я настроил свой маршрутизатор для переноса трафика с внешнего порта 80 на 192.168.88.247:80. Затем, используя файл hosts на ПК из внешней сети, я настроил поддельный домен, чтобы указать на мой WAN IP. Я смог получить доступ к веб-серверу PHP извне.

Тем не менее, это всего лишь сервер для тестирования, поэтому могут быть неизвестные угрозы безопасности, открывающие его для внешнего мира.

Надеюсь, что это поможет.