Apache 資料一覧
SSIの「#exec cmd」が実行されず「an error occurred while processing this directive」エラーが出る
2012/4/16更新
対応バージョン: 2.4.1
以下のようにしてSSIの「#exec cmd」を実行しようとした。
<!--#exec cmd="/lib/foo.cgi"-->
しかしブラウザの画面には件名のエラーが、Apacheのログには以下のエラーがそれぞれ出力され、プログラムが実行できない。
AH01371: unknown directive "exec" in parsed doc <ファイル>
これはApacheのバージョンが2.4.1になり、利用する機能毎に明示的にモジュールをロードする仕様になったことに起因する。
SSIを有効化するにはhttpd.confにてmod_include.soをロードするが、「#exec cmd」を実行するにはさらにmod_cgid.soもロードする必要があり、ロードしていないと今回のような事象になる。
# SSI LoadModule include_module modules/mod_include.so # SSI(exec) LoadModule cgid_module modules/mod_cgid.so
関連資料・記事