2014-06-20 92 views
0

我的本地Apache有問題。 當我啓動服務,我的Apache的error.log中充滿了:Apache rotatelogs意外失敗

管道日誌程序「C:/ Program Files文件(86)/ Apache軟件基金會/ APACHE2.2 /斌/ 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

+0

如果設置一個VAR它的工作原理(比如'APACHE_HOME = C:/ Program Files(x86)/ Apache Software Foundation/Apache2.2')並且以這種方式運行它? – fxm

+0

謝謝你的回覆。試過了,沒有區別:( –

回答

0

該路徑包含空格。在這種情況下應該被引用:

'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"