Apacherotatelogs.exe 失敗並顯示“無法啟動 ErrorLog 進程”

Apacherotatelogs.exe 失敗並顯示“無法啟動 ErrorLog 進程”

我正在嘗試使 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程式/二進位檔案的路徑時)。

相關內容