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 Serviceпапке C:/Temp/logs.

Если я использую вариант № 1 (директива ErrorLog вне VirtualHost), то ErrorLog не создается, и Apache не запускается.

Если я использую вариант №2 (директива ErrorLog внутри VirtualHost), то C:/Temp/logs/error.logон создается, но не запускается с той же Couldn't start ErrorLog processошибкой.

Есть ли способ заставить это работать?

решение1

У меня нет опыта работы с Apache httpd в Windows, но я ожидаю, что там имена двоичных файлов получают расширение .exe, и вам нужно использовать c:/Temp/rotatelogs.exeего вместо c:/Temp/rotatelogs(когда это путь, по которому установлена ​​программа/двоичный файл rotatelogs).

Связанный контент