WindowsでPerlが動かない

| コメント(0) | トラックバック(0)

Windows上で、Perlのプログラムを動かそうとしたら

The specified CGI application misbehaved by not returning a complete set of HTTP headers.

というメッセージが出る場合があります。
同じCGIをLinuxサーバでは全然問題なく動くのに・・・

Windowsの場合、Perlプログラム(CGI)の設置ディレクトリと、実行時のディレクトリが異なる場合があります。
これが原因です。

Perlの場合、ほとんどと言っていいほど、

require './jcode.pl';

を記述します。Linuxの場合は、CGIがあるディレクトリでそのCGIが動くわけで、同じディレクトリに jcode.pl を入れておけばいいのですが、Windowsの場合は、上記の理由により、CGIがどこか別のディレクトリで動く場合があります。とすると、jcode.pl は、その動くディレクトリに入れておかないとダメということになります。

そのディレクトリに入れれば、いいわけなんですが、Perlのプログラムの中で解決するとなると、プログラムの最初に

chdir("Perlのプログラムを設置したディレクトリ");

と書きます。ディレクトリは、例えば、C:/Inetpub/wwwroot/abc のように書きます。
これにより、このプログラムは指定したディレクトリで動き、正常に動作します。

トラックバック(0)

トラックバックURL: http://www.karakuriya.biz/mt/mt-tb.cgi/441

コメントする

ウェブページ

Powered by Movable Type 4.261

このブログ記事について

このページは、H.Imaiが2006年6月 3日 04:40に書いたブログ記事です。

ひとつ前のブログ記事は「みそ・しょうゆセット」です。

次のブログ記事は「LAST 奈良ドリームランド」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。