
Я пытаюсь заставить работать 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).