Windows 上的 Apache httpd 服务器无法启动
Posted
技术标签:
【中文标题】Windows 上的 Apache httpd 服务器无法启动【英文标题】:Apache httpd server on windows won't start 【发布时间】:2016-02-13 03:25:37 【问题描述】:我通过 trac 的 bitnami 安装包在 Windows7 上安装了 Apache。作为最后的安装步骤,安装程序尝试启动 Apache httpd 服务并抛出启动 https 服务失败的错误。
当我尝试从命令提示符启动 httpd 并收到此错误时,我发现了原因:
AH00526: Syntax error on line 564 of F:/Bitnami/trac-1.0.9-0/apache2/conf/httpd.conf:
SetEnv takes 1-2 arguments, an environment variable name and optional value to pass to CGI.
这是有问题的行:
SetEnv PATH "$PATH;F:/Bitnami/trac-1.0.9-0/apache2/bin;"
我改成这样了:
SetEnv PATH "F:/Bitnami/trac-1.0.9-0/apache2/bin;"
服务启动了。
我的问题是:
1) httpd.conf 文件中使用的语法/语言是什么?
2) 如何更改该行以使其编译并保留将F:/Bitnami/trac-1.0.9-0/apache2/bin
附加到环境变量PATH
的初衷?
3) 假设这适用于某些平台,为什么它不能在 Windows 上运行?
谢谢。
更新
就像回复说的问题是与PATH
。然而,路径中有空格的事实似乎不是问题。不仅如此,我隔离了导致问题的 PATH 中的路径。就是这个"C:\tools\mkstools"
,一模一样。我去掉了引号,这使 httpd 能够启动。所以我还在挠头。为什么引号会导致问题?
【问题讨论】:
PATH
是系统路径吗,也许是使用PassEnv 检索的?您可能需要quote and escape 任何空格。
嗨,这里是 Bitnami 开发人员。我试图重现你的问题,但我没能,安装很顺利。好像你系统的PATH变量有问题,你之前修改过吗?您可以在命令提示符或访问控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量中查看运行 set PATH
的内容。
@RjOllos 是的,我能够确认这是问题所在。是的,你又是对的,我在所有带空格的路径周围都使用了引号,但这并不能自行解决。如何在 Windows 中转义空格?谢谢。
所以我猜"$PATH;F:/Bitnami/trac-1.0.9-0/apache2/bin;"
扩展为"C:\path\to\a;"C:\tools\mkstools";C:\path\to\b;F:/Bitnami/trac-1.0.9-0/apache2/bin;"
之类的东西,它可能被视为SetEnv
的3 个参数:"C:\path\to\a;"
、C:\tools\mkstools
和";C:\path\to\b;F:/Bitnami/trac-1.0.9-0/apache2/bin;"
。我不确定应该如何处理引用的路径。我可能会调查他们是否可以逃脱或encoded。您可能想在Apache mailing list 上提问。
【参考方案1】:
对我来说,它通过将 $PATH
替换为 %PATH%
来工作。
【讨论】:
这是为我做的。谢谢!以上是关于Windows 上的 Apache httpd 服务器无法启动的主要内容,如果未能解决你的问题,请参考以下文章
Windows 10 上的 Apache 2.4.46 虚拟主机
Windows 上的 httpd.conf:找不到 API 模型结构 `php8_module`
PC 上的 Apache 不以未找到 ServerRoot 开头
PC 上的 Apache 不以未找到 ServerRoot 开头