0

在 Windows 7 上安装了 EasyPHP Devserver。

EasyPHP 开发服务器版本 17.0(相当最新)

EasyPHP 开发服务器 Apache 版本 2.4.25

你可以直接跳到我下面的结论。

这是我的试验过程。

httpd.conf文件中,我添加了第二个监听端口

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 Server Settings (齿轮图标) > 有一个下拉菜单供我们选择端口:80。

有几个选项,80 8080, 8000, 8888, 8008。如果我这里改了,重启一下Apache。根据此httpd.conf设置更新。

结论

我的结论是,无论我在httpd.conf文件中设置什么,Listen 127.0.0.1:80都会被 EasyPHP Devserver 网站控制台 > Http 服务器设置 > 端口中的设置重写。实际设置由 EasyPHP Devserver 网站控制台控制。httpd.conf文件Listen指令不起作用。

问题

问题来了。事实上,我只想将 Apache Listens 配置为多个端口,80 用于生产,8080 用于开发。我该怎么做?

4

2 回答 2

0

你必须评论第 66,67 行:

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

线路更新端口号

于 2020-09-10T10:24:48.857 回答
0

好的。我找到了蛮力解决方案。

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 将不再被覆盖。好的。

看?这是开源最好的部分之一。我们总是可以蛮力它。

于 2020-05-14T09:54:21.057 回答