- ベストアンサー
apacheでcgiがうまく動かない。cgiが認識されていない?
すいません、多分基本的な所なのですが、 どうしても分からないので質問させてください。 ■環境------------------------------ ・windowsXP sp2 ・apache1.3.33 C:\Program Files\Apache Group\Apache 現在の状態:html表示可能。httpd.confを変更 ・perl5.6.1 c:\perl 現在の状態:PPMにてimagemagick,DBI,DBD-MySql(だっけ)をインストールしている ・php5.0.4 c:\php ・mysql4.02 C:\mysql ■httpd.confの変更箇所-------------------------------- 337 Options Indexes FollowSymLinks MultiViews ↓ Options Indexes FollowSymLinks ExecCGI MultiViews 538 #!c:/program files/perl/perl ↓ #!C:/Perl/bin/perl 720以降に追加 AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .pl 825以降に追加 AddHandler cgi-script .cgi AddHandler cgi-script .pl ■printenv.plの内容-------------------------------- #!C:/Perl/bin/perl ## ## printenv -- demo CGI program which just prints its environment ## print "Content-type: text/plain\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; } -------------------------------------------------- 上記のような環境で、いまPERLの動作確認を行っています。 http://localhost/cgi-bin/printenv.pl http://localhost/cgi-bin/printenv.pl PLファイルを指定しても実行されず、ダウンロードされてしまいます。 cgiに拡張子を変えても同じでした。 エラーというわけでもない為、エラーログにも何もかかれません。 何が問題なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
1. htdocsではなく、cgi-binでの実行のようなので ScriptAlias のコメントアウトははずしました? 2. http://127.0.0.1/cgi-bin/printenv.pl ではどうでしょう Windowsでしたら、たまにIISが関係してくるようですよ
その他の回答 (1)
- carroll
- ベストアンサー率61% (13/21)
cgi-binフォルダ内のファイルはデフォルトでCGIとして動作するのでhttpd.confはいじらなくてもPerlスクリプトの1行目のパスを書き換えるだけで動作します。 質問の件ですが >720以降に追加 >AddType application/x-httpd-cgi .cgi >AddType application/x-httpd-cgi .pl この部分が問題だと思われるのでこれを削除してApacheを再起動させてみてください。
お礼
回答ありがとうございます。 2行を消して、DOSプロンプトから net stop apache net start apache を実行して再起動しました。(なぜかapacheにrestartとかが無いのです、、、) しかし、ダウンロードされます。 次にOSを再起動して実行しましたがダメでした、、、 ちなみに337行目の変更はhtdocsの配下でCGIを実行したいからです。
お礼
回答ありがとうございます。 HTMLをおける場所でもCGIをおいて実行させたかったのです。 なのでhtdocsにExecCGIをつけたのですが、うまくいきませんでした。 やりたかったことの一つとしてMovableTypeをいれたかったので、http://pooneil.sakura.ne.jp/archives/2005/06/movable_typexp_1.html を参考に環境構築し、無事実行できました。 お騒がせしました。