【发布时间】: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 上提问。
标签: apache httpd.conf trac bitnami