Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:namazu コマンドを cgi から使用するには?



岩村です

自己レスします。

現在のnamazuコマンドは、
環境変数 QUERY_STRING もしくは SCRIPT_NAMEが
設定されていると、ワーニングを出力し、強制的に
終了します。

私は、簡単な方法として、ソースを書き換えてしまいました。

src/namazu-cmd.c

の

286:    if (getenv("QUERY_STRING") && getenv("SCRIPT_NAME")) {
287: /*
288:  * If invoked as CGI, print a help message and exit.
289:  *
290:  * NOTE: Since "namazu" command and "namazu.cgi" had
291:  * been same until 1.9.13, there might be a lot of
292:  * people trying to use "namazu" command as CGI. But
293:  * since 1.9.14, they are different and we cannot
294:  * use "namazu" command as CGI any longer.
295:  */
296: printf(MSG_MIME_HEADER);
297: printf("You should use \"namazu.cgi\" instead of \"namazu\" command.");
298: exit(EXIT_FAILURE);

上記の行をコメントアウトし、

299:    } else if (argc == 1) {

を

299:    if (argc == 1) {

に書き換えました。

今のところ、問題は出ていません。

# こんなことしていいのだろうか?

とういうことで、ご参考までに。

>   Namazuを使って、CGIを立ち上げようとしているのですが、
>   うまくいかないので、ご教授ください。
>
>   CGIなので、namazu.cgi使用すれば、問題ないのですが、
>   Postgresとの連携、また、特殊フォーマットでのHtml出力
>   が必要なため、namamuコマンドをCGIから呼び出そうとし
>   ています。
>
>   用いている言語は、C言語です。呼び出しには、popenを
>   使用しています。
>
>   しかし、namazuコマンドを呼び出すと、
>     「namazu.cgi」コマンドを使用しなさい
>   というエラーメッセージが帰ってきてしまいます。
>
>   CGI内部でnamazuコマンドを使用することはできないので
>   しょうか?
>
>   憶測では、環境変数を少しいじってやるとよいよい気がしま
>   すが...
>
>   ちなみに、呼び出し部分のプログラムです。
以下省略