
我正在嘗試使 apacherotatelogs.exe 工作(Apache 2.4,Windows 10 Pro)
這是配置:
ErrorLog "C:/Temp/logs/error.log"
ErrorLog "|C:/Temp/rotatelogs C:/Temp/logs/error.log 10" #option 1
<VirtualHost ...>
ErrorLog "|C:/Temp/rotatelogs C:/Temp/logs/error.log 10" #option 2
</VirtualHost>
apache 所在的資料夾位於「C:/Program files (x86)/apache/...」內,因此為了防止轉義空格時出現問題,我將該位置移至臨時資料夾。 (除了rotatelogs.exe)
我收到錯誤:
(OS 2)The system cannot find the file specified. : AH00089: Couldn't start ErrorLog process 'C:/Temp/rotatelogs C:/Temp/logs/error.log 10'.
AH00015: Unable to open logs
我正在將 apache 作為服務啟動。我授予了Local Service
該資料夾的完全控制權限C:/Temp/logs
。
如果我使用選項 #1(VirtualHost 外部的 ErrorLog 指令),則不會建立 ErrorLog,且 apache 無法啟動。
如果我使用選項 #2(VirtualHost 內的 ErrorLog 指令),則C:/Temp/logs/error.log
創建,但無法啟動並出現相同的Couldn't start ErrorLog process
錯誤。
有辦法讓它發揮作用嗎?
答案1
我沒有在 Windows 上使用 Apache httpd 的經驗,但我希望二進位檔案的名稱有一個副.exe
檔名,您需要使用c:/Temp/rotatelogs.exe
而不是c:/Temp/rotatelogs
(當這是安裝rotatelogs程式/二進位檔案的路徑時)。