AN HTTPD ゲストブック/コメント集(2001年4月21日22:41)


中田昭雄 nakata@st.rim.or.jp 2001/04/23 21:37

magr さん、
>さらに謎が深まってきました。
>原因がわかりました。
というつながりがちょっと理解に苦しみますが、解決したと思ってよいのですよね(?)


magr magr72@mx9.freecom.ne.jp 2001/04/22 22:50

お世話になっております。magrです。さらに謎が深まってきました。
原因がわかりました。実はgippleがエイリアスで追加して作ったものなのですが、
ローカルパスをフルで書いたのと、あとボケてたのか、ローカルなのに
\でなく/を使ってました。
すみませんでした。


中田昭雄 nakata@st.rim.or.jp 2001/04/22 07:52

magr さん、
もちろん Content-Type の部分の問題ではありません。

ドキュメントルート [C:\www ]
[v][/~gipple ] --> ドキュメントルート\[gipple\public_html ]

と設定してあるとして、

http://127.0.0.1/~gipple/yybbs/yybbs.cgi

というアドレスを指定すると、Perlスクリプトとして

C:\www\gipple\public_html\yybbs\yybbs.cgi

を開くはずです。つまり、コマンドライン(DOSプロンプト)で、

perl C:\www\gipple\public_html\yybbs\yybbs.cgi

とするのと同じです。(どういうふうにCGIが起動されているかは プロセスログを見るとわかります。)
それから Perl が yybbs.cgi を読み込んで、その後実行を始めます。

ところが、yybbs.cgi がないと、Perl は、
Can't open perl script "C:\www\gipple\public_html\yybbs\yybbs.cgi": No such file or directory
というエラーメッセージを出して終了してしまいます。
当然のことながら yybbs.cgi は動作しません。
そうなると、Content-Typeが出ないのですから、HTTPサーバとしては「Content-Typeが正しくない」ということになります。

エラーメッセージが、本当に
Can't open perl script "gipple\public_html\yybbs\yybbs.cgi": No such file or directory
というふうに gipple から始まっているとすると、何か設定がおかしいのでしょう。
Can't open perl script "C:\www\gipple\public_html\yybbs\yybbs.cgi": No such file or directory
だとすると、yybbs.cgi がそこにないのだと思います。


magr magr72@mx9.freecom.ne.jp 2001/04/21 22:41

はじめまして。いつもお世話になっております。
CGIのテストのため、httpdとActivePerlを入れているのですが、
文字を出力するだけのCGI(kent webさんの説明に置いてあるhello.cgi)は
うまく動作するのですが、掲示板やチャットをDLしてきて、そのまま動かしても
---------------------------------------------------------------------------
CGI エラー - Content-Type ヘッダが正しくありません。
CGI 出力メッセージ:
Can't open perl script "gipple\public_html\yybbs\yybbs.cgi": No such file or directory
---------------------------------------------------------------------------
と表示されるのです。本当にContent-Typeの部分に問題があるのでしょうか。
よろしくお願いいたします。