Может ли EasyPHP Devserver Appache прослушивать несколько портов?

Установил EasyPHP Devserver на Windows 7.

EasyPHP Devserver версии 17.0 (довольно последняя)

Сервер разработки EasyPHP Apache версии 2.4.25

Вы можете сразу перейти к моему заключению ниже.

Вот мой процесс испытаний.

В файле httpd.conf я добавил второй порт Listen

Listen 127.0.0.1:80
Listen 127.0.0.1:8080

Затем в консоли веб-сайта EasyPHP Devserver (http://127.0.0.1:1111) я перезапускаю Apache. файл httpd.conf будет перезаписан следующим образом, и Apache не сможет запуститься. (Где я могу увидеть журнал ошибок? Ничего не записано в EasyPHP Devserver\eds-binaries\httpserver\apache...\logs)

Listen 127.0.0.1:80
Listen 127.0.0.1:80

Если я оставлю файл httpd.conf только с одним портом прослушивания

Listen 127.0.0.1:8080

Apache запускается успешно, но httpd.conf также перезаписывается обратно в

Listen 127.0.0.1:80

А в консоли веб-сайта EasyPHP Devserver (http://127.0.0.1:1111) > Настройки HTTP-сервера (вкладка значок шестеренки)> есть выпадающее меню для выбора порта: 80.

Есть несколько вариантов, 80 8080, 8000, 8888, 8008. Если я изменю здесь и перезапущу апач. httpd.conf обновляется в соответствии с этой настройкой.

Заключение

Мой вывод таков: независимо от того, что я установил в файле httpd.conf, Listen 127.0.0.1:80 будет перезаписан параметром в консоли веб-сайта EasyPHP Devserver> Настройки Http-сервера> Порт. Настоящая настройка управляется консолью веб-сайта EasyPHP Devserver. Директива httpd.conf file Listen не работает.

Вопрос

Вот вопрос. На самом деле я хочу настроить Apache Listens только на несколько портов, 80 для производства и 8080 для разработки. Как мне это сделать?


person midnite    schedule 14.05.2020    source источник
comment
Интересно, должны ли вопросы EasyPHP переходить в stackoverflow? Я предполагаю, что сбой сервера может быть более подходящим, но сбой сервера даже не имеет тега EasyPHP. А как же суперпользователь? В суперпользователе есть тег EasyPHP, но нет тега EasyPHP-Devserver. Хм... Думаю, я просто оставлю это в stackoverflow. Если у вас есть лучшие предложения, пожалуйста, дайте мне знать. Спасибо.   -  person midnite    schedule 14.05.2020
comment
stackoverflow.com/questions/51688508 / Аналогичный вопрос здесь. Но мне все еще не хватает способа сделать несколько настроек порта. Я думаю, это может быть дерьмом EasyPHP... :(   -  person midnite    schedule 14.05.2020


Ответы (2)


Хороший. Я нахожу решение грубой силы.

В EasyPHP-Devserver-17\eds-binaries\httpserver\apache...\eds-app-actions.php строке 97 он заменяет настройки консоли веб-сайта на Apache httpd.conf. Я только что прокомментировал // file_put_contents (__DIR__ . '\conf\httpd.conf', $serverconffile);, и Apache httpd.conf больше не будет перезаписываться. Хороший.

Видите? Это одна из лучших частей с открытым исходным кодом. Мы всегда можем выполнить брутфорс.

person midnite    schedule 14.05.2020
comment
Тем не менее, я должен признать, что это решение грубой силы. Я все еще жду вашего более приятного решения. Может быть указание настроек в другом файле .conf? - person midnite; 14.05.2020

вы должны прокомментировать строку 66,67:

//$replacement = '${1}' . $server_port;
//$serverconffile = preg_replace('/^([\s|\t]*Listen.*\:[\s|\t]*)(.*)$/m', $replacement, $serverconffile);

номер порта обновления строки

person fabien    schedule 10.09.2020