- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IISでCGIとしてのPerlが動かない)
IISでPerlが動かない?原因と解決方法を解説します!
このQ&Aのポイント
- Win2K ProのIISでローカルサーバーを構築し、Perlを使ったサーバーサイドスクリプトを試しています。しかし、Perlが正常に動作せず、CGIタイムアウトが発生してしまいます。Active PerlやCygwinのPerlを試しても同じ現象が起きており、他のApacheサーバーでは正常に動いていることから、IISの設定が原因と考えられます。
- Perlの実行ファイルのパスや拡張子の設定は正常に行われているため、他の要素が問題となっています。文字コードや改行コードの設定に問題がある可能性もありますので、それらの設定を見直してみてください。また、httpヘッダが正常に返されていることから、Perlのソースコード自体に問題がある可能性は低いと言えます。
- IISを使っている方には、次のようなアドバイスをします。まずは、IISの設定を確認し、CGIの有効化やタイムアウトの設定などが適切に行われているか確認してください。また、Perlの実行環境に問題がある場合は、パスや環境変数の設定を見直してみてください。さらに、IISのログファイルを確認してエラーメッセージを特定し、解決策を見つけることも重要です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
原因は、分かりませんが ActivePerlが動いてるのでその環境を。 インストール先 C:\usr\local\bin\Perl #この直下にbin eg html lib site の各フォルダができる #「#!/usr/local/bin/perl」の記述を、一々変更させないため 規定のWEBサイトのプロパティーから、ホームディレクトリ→構成→アプリケーションのマッピングの「追加」で実行ファイルを「PerlIS.dll」拡張子を「.cgi」動詞は「全て」で追加(.pl .plxはPerlインストール時に自動で追加されている) 「*.cgi」を「\Inetpub\scripts」のフォルダに置く。 一応これだけで動いています。 あ、そう言えばデフォルトがいやだったので\scriptsと同じように設定したつもりで作った別名フォルダじゃ動かなかったことがあります。 後は・・・セキュリティー関係でなにか制限を設定していないかどうかの確認でしょうか?
お礼
PerlIS.dll? perl.exeに関連付けちゃいけないんでしょうか。 試してみます。 できたらまた報告します。
補足
動きました! perlis.dllなんてものがあったとは・・・。 Win98でunhttpdを使っていたときは、EXEファイルを指定すれば良かったのに、まさかIISではサーバープロセスに組み込まれているとは思いませんでした。 どうもありがとうございました。