我尝试为localhost设置Apache(EnterpriseDB ApachePHP包的一部分)。但Apache自第一次重启(初始配置后)后才会启动。 Httpd.exe抱怨“DocumentRoot必须是一个目录” - 但它是一个目录,Apache甚至在第一次重启之前就认出了它。即使我将DocumentRoot更改回其默认目录,此问题仍然存在。
有问题的行看起来像这样:DocumentRoot "d:\www\"
当将反斜杠更改为斜杠或删除尾部反斜杠时,httpd.exe永远有效并且永远不会达到任何结果,所以我理解这是正确的格式。
有一个很好的问题:Apache restart causes DocumentRoot must be a directory, even though it is a directory and there seem to be no privilege issues。不幸的是,我认为它的解决方案不适用于我的情况:在Windows XP(32位)上没有SELinux可以禁用。
我在重启之前做的最后一个动作是在php.ini中启用(取消注释)php_gd2库。恢复这个并没有使Apache工作,所以我猜这不是原因。这(以及httpd.conf中的根目录)是我做的唯一更改,否则我接受了EDB的默认值。
任何想法现在该做什么?
答案 0 :(得分:2)
我重新安装了EnterpriseDB Apache PHP,现在它似乎工作正常。正确的格式没有斜杠 - 在此配置下服务器现在正在运行,当我在命令行中执行httpd.exe时,它会在不到一分钟的时间内显示一些日志(不是“一小时后仍在工作”)。我不知道是什么导致了这个问题,但它已经解决了。