【问题标题】:Apache rotatelogs failed unexpectedlyApache 旋转日志意外失败
【发布时间】:2014-06-20 09:14:40
【问题描述】:

我的本​​地 Apache 有问题。 当我启动服务时,我的 Apache 的 error.log 充满了:

管道日志程序 'C:/Program Files (x86)/Apache Software Foundation/Apache2.2/bin/rotatelogs.exe C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/access- %Y-%m-%d.log 86400 +120' 意外失败

“C:\Program”未被识别为内部或外部命令...

有谁知道问题出在哪里? 我想原因是路径中的空格字符。 我的 httpd.conf 看起来像这样:

CustomLog "|C:/Program Files (x86)/Apache Software Foundation/Apache2.2/bin/rotatelogs.exe C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/access-%Y-%m-%d.log 86400 +120" common
ErrorLog "|C:/Program Files (x86)/Apache Software Foundation/Apache2.2/bin/rotatelogs.exe C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/error-%Y-%m-%d.log 86400 +120"

当我用引号写它时,我认为空格没有问题。 有人可以帮忙吗?

我使用 Apache 2.2.22

【问题讨论】:

  • 如果你设置一个变量(如APACHE_HOME=C:/Program Files (x86)/Apache Software Foundation/Apache2.2)并以这种方式运行它是否有效?
  • 感谢您的回复。试过了,没区别:(

标签: apache


【解决方案1】:

路径包含空格。在这种情况下应该引用:

'C:/Program Files (x86)/Apache Software Foundation/Apache2.2/bin/rotatelogs.exe'

完整样本:

ErrorLog "|'C:/Program Files (x86)/Apache Software Foundation/Apache2.2/bin/rotatelogs.exe' 'C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/error-%Y-%m-%d.log' 86400 +120"

另外,rotatelog路径可以通过相对路径来引用:

ErrorLog "|bin/rotatelogs.exe 'C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/error-%Y-%m-%d.log' 86400 +120"

【讨论】:

    猜你喜欢
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2015-12-30
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多