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/...」内にあるため、スペースのエスケープに問題が発生する場合に備えて、場所を temp フォルダに移動しました。(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 の経験はありませんが、バイナリの名前に拡張子が付くので、(rotatelogs プログラム/バイナリがインストールされているパスの場合)ではなく.exeを使用する必要があると思います。c:/Temp/rotatelogs.exec:/Temp/rotatelogs

関連情報