WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:WebサーバーをApacheからIISへ変更したときに

0:[投稿] やまちゃん [2007/04/21 09:27 ] [環境:WindowsXPProfessional+IE7 Windows2003Server+IIS5.1]

CGIは初心者ですが、他人が書いたプログラムを
WebサーバーをApacheからIISへ変更する事にしました。
IISへ変更すると「script produced no output」が出てスクリプトが動きません。
ディレクトリの設定かという気ましていますが、どうしてよいのかわかりません。
知見のある方、教えてください。


1:[回答] スパム嫌い [2007/04/21 15:56 ]

・CGIで動く言語のEXEがインストールされていないとか。
・スクリプトの拡張子がEXE本体と関連付けされていないとか。
・IISでCGIの設定が上手く言っていないとか。
・IISでCGIの拡張子の登録がされていないとか。
・IISで、確かアクセスウイザードだったかな、それを実行していないとか。


IIS設定の注意点、仮想ディレクトリと実ディレクトリが両方表示されることがありますが、再度、IISを開くと実ディレクトリの表示の方は消えてます。


2:[質問] やまちゃん [2007/04/22 07:03 ]

スパム嫌いさん、回答をありがとうございます。
ActivePerlをインストールし、IISのアプリケーション構成で「.cgi」、「.pl」、「.plx」の設定はしています。
アクセスウィザードの実行とはどういうことですか?
教えていただけませんか。

東京地区で直接指導していただける方いらっしゃればお願いしたいと思っています。早急に解決したいのです。
よろしくお願いいたします。


3:[回答] スパム嫌い [2007/04/22 08:07 ]

確か、アクセスウィザード(名前を良く覚えていない)を実行すると仮想ディレクトリが作成されたはず。

仮想ディレクトリは、ちゃんと出来ていますか?


4:[回答] スパム嫌い [2007/04/22 08:18 ]

あと、『他人が書いたプログラム』は、UNIX系のPerlのスクリプトだったら、WINDOWS系だと動かない可能性が高いです。

まさに「script produced no output」=『スクリプトは出力を作り出さなかった』になりますね。


5:[質問] やまちゃん [2007/04/22 09:28 ]

仮想ディレクトリは作成しています。
環境変数を表示するプログラム(getenv.cgi)は正常に動きます。
getenv.cgiのソースは
--------
#!/usr/bin/perl
#
# getenv.cgi
#
# 環境変数一覧の表示
#
# タイトル
$Title = '環境変数一覧サンプルプログラム';

print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>$Title</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";
foreach (sort keys %ENV) {
    print "$_: $ENV{$_}<BR>\n";
}
print "</BODY>\n";
print "</HTML>\n";
exit(0);
#--End of getenv.cgi
--------
です。
以前の物は、Windows2000にApacheを入れて動かしていたものです。これをWindows2003serverのIISで動かしたいのです。
ASPで再コーディングも考えたのですが時間がかかりすぎそうなので、とりあえずそのままでIISのもとで動かそうとしています。


6:[回答] スパム嫌い [2007/04/22 10:27 ]

getenv.cgiが動くなら、考えられるのは、以下の感じかな。

・Perlのバージョンによる機能の違いとか。
・スクリプトでアクセスしているファイルのアクセス権とか。
(これは、ログオンユーザでは動くけど、CGIからだと動かないことが結構あります。)

回答(必須): 状態:

お名前(必須):

URL:




[戻る]