SNI対応に備えてPHPの同居調査をしていますが、納得いかないところでつまずいています。
VirtualHost を SuexecUserGroup 指定で実行しているのですが、SetHandler cgi-script では正しく動くのに SetHandler fcgid-script では動かない。
エラーメッセージはログに出力されているのでそのメッセージを頼りに apache の suexec ソース suexec.c 追いかけて、場所はわかっています。
if (strspn(target_uname, "1234567890") != strlen(target_uname)) { if ((pw = getpwnam(target_uname)) == NULL) { log_err("invalid target user name: (%s)\n", target_uname); exit(105); } } else { if ((pw = getpwuid(atoi(target_uname))) == NULL) { log_err("invalid target user id: (%s)\n", target_uname); exit(121); } }
この部分で cgi-script 指定の場合は、通過するけど fcgid-script 指定の場合は invalid target user name: (%s)
とでて、しかも %s は uid が表示されています。
謎だ。