我很困惑,在任何地方都找不到答案。
我的笔记本电脑上安装了适用于 Windows 的 Apache 2.2。这样,当我在网站上工作时,服务器端包含功能就可以正常工作 - 即使我没有连接到互联网。
这曾经有效:
http://example.brak
但是当我添加新域名时,我完全破坏了一些东西。
我使用 hosts 文件来解析“.brak”域上的主机的 IP 地址
127.0.0.1 example.brak
每个 *.brak 主机都会应答 ping。
每个盒子都有自己的 TLD,使我能够从我公寓中的任何盒子访问我的每个本地站点。
这应该在 Cygwin 中工作:
$ /cygdrive/c/Apache22/bin/httpd -k start -n Apache2.2
或者在命令提示符中:
c:\> \Apache22\bin\httpd -k start -n Apache2.2
(必须使用httpd -k install
将 httpd 设置为 Windows 服务。)
任务管理器显示服务已启动但很快就停止了。
这肯定是我破坏配置的结果,但 httpd 退出时除了错误状态 1 之外没有其他消息。
要查找上一个命令的状态:
c:\> dir
c:\> echo %errorlevel%
0
我永远感激您。
答案1
apachectl configtest
Apache 在 Windows 上的对应版本是什么?
根据目前Apache 2.4 apachectl 文档,configtest
相当于httpd-t 服务。作为参考,httpd -t
允许您:
仅对配置文件运行语法测试。程序在这些语法解析测试后立即退出,返回代码为 0(语法正常)或返回代码不等于 0(语法错误)。如果还设置了 -D DUMP_VHOSTS,则会打印虚拟主机配置的详细信息。如果设置了 -D DUMP_MODULES,则会打印所有已加载的模块。
两者的配置错误httpd配置文件并且任何虚拟主机文件通常也会被手动、非服务管理器服务启动捕获(httpd -k start
)前任。
您需要在尝试之前停止任何正在运行的 Apache 服务httpd -k start
(httpd -t
应该没有这样的要求)。
请注意,虽然问题与 Apache 2.2 有关,但是2.2 和 2.4 版本之间的一般文档apachectl configtest
并没有改变。httpd -t
我的笔记本电脑上安装了适用于 Windows 的 Apache 2.2。
截至撰写本文时,Apache 2.2 已正式终止使用。截至 2018 年 1 月 1 日:
Apache HTTP 服务器项目已停止对 2.2.x 系列版本的所有开发和补丁审查 [...] 并且不会发布针对 2.2.x 版本的安全风险的进一步评估。
如果您没有令人信服的理由坚持使用 2.2 版本(例如,它供个人使用并且您不需要某些专门的模块等),您可能需要认真考虑升级。
我推荐原生的(非 Cygwin)Apache Lounge 的 Windows 版本。它们通常与最新的 Apache 基金会官方版本保持同步(或紧随其后),并且拥有一系列常用可选模块。
(附带说明一下,从 2.2 版升级到 2.4 版将需要对配置文件进行一些小的语法更改,但不会有什么大的变化)。
答案2
虽然这并没有真正回答我的配置测试问题,但我能够通过查看以下内容确定为什么 httpd 无法启动:
c:\Apache2.2\logs\error.log
有很多重复的内容:
(OS 3)The system cannot find the path specified. : httpd.exe: could not open error log file C:/cygwin64/home/Thunderball/_Websites/Soggy/logs/error.log.
Unable to open logs
回到 cygwin 我得到一个坏消息:我的主目录中除了一个文件夹之外的所有文件夹都不再存在!
我真倒霉。:-(
我最近发现我的 Acer 硬盘出现故障。我无法在历史记录中找到任何可能意外丢失所有数据的内容。
也许现在正是停止使用 Acer 的好时机。我基本没问题,因为我有很好的备份,家里还有一台 Mac mini。在我完成当前合同的项目之前,我无法购买替换驱动器。在那之前,我会有点缺钱。
我对我的 Acer Aspire E 15 非常满意,所以我将要更换其驱动器,很可能是更换 SSD,以及更换严重划伤的屏幕。
答案3
我们可以在 Linux(Ubuntu、CentOs 等)上检查同样的东西,如果是 XAMPP/LAMPP 安装,您可以使用以下命令:
/opt/lampp/bin/apachectl -t 在 Windows 上 httpd-t 服务