Запуск PHP 5.4 встроенного веб-сервера за пределами localhost
Да, в следующей версии PHP 5.4 есть встроенный веб-сервер, который вы можете опробовать в их кандидатах на релиз (об этом я тоже узнал совсем недавно!)
http://php.net/manual/en/features.commandline.webserver.php
Мне нужна помощь, чтобы выяснить, есть ли способ заставить его работать на доменных именах, отличных от localhost (он работает нормально на localhost, порт 80)? Даже 127.0.0.1 не работает. Я поместил в свой файл hosts фиктивные имена хостов, чтобы они указывали на 127.0.0.1, и они тоже не работают. Я понимаю, что это всего лишь кандидат на релиз, но я хотел бы знать, уже кто-нибудь еще придумал решение этой проблемы, чтобы я мог протестировать свое приложение с фактическим доменным именем, указывающим на 127.0.0.1 в моем файле hosts. ОС Windows 7 Профессиональная SP1.
Вещи, которые я уже пробовал: 1. Поиск в Google (duh) 2. Просмотр php.ini для вариантов 3. Проверка 127.0.0.1, мой IP-адрес локальной сети, мой WAN IP-адрес с переадресованным портом 80 и исправленная проблема обратной связи NAT (маршрутизатор с DD-WRT)
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 извне.
Тем не менее, это просто сервер для тестирования, поэтому могут быть неизвестные угрозы безопасности, открывающие его для внешнего мира.
Надеюсь, это поможет вам.