Apache rotatelogs.exe 失败,并显示“无法启动 ErrorLog 进程”

Apache rotatelogs.exe 失败,并显示“无法启动 ErrorLog 进程”

我正在尝试让 apache rotatelogs.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 ServiceC:/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 程序/二进制文件的路径时)。

相关内容