
webに検索エンジン機能を付けようと思いいmsearchという検索cgiを入れたのですが、apacheサーバだとうまく動いてくれるのですが、iis(var4)だとエラーがでて動いてくれません。
(エラーの内容はSyntax errorとExecution of aborted dueto compilation errorsだったと思います)
UNIX系webサーバで動いてiisで動かないCGIというのは存在するのでしょうか?
また、あるとしたら何が原因で、対処法はあるのでしょうか?
非常に困っていますどなたか知恵をお貸し下さい。
お願いします。
msearch:http://www.kiteya.net/script/msearch/
No.7ベストアンサー
- 回答日時:
msearch少し見てみました。
すみません、confi_datってPerlのファイルじゃなくて独自フォーマットの設定ファイルでした。
ですから、perl -cでエラーが出るのは当たり前でした。
申し訳ないです。
# こういう方法は珍しいですね・・・
となると、話が戻ってしまうのですが
改行コードとか、Perlへのパスは問題ないですか?
これ、UNIX用に作られてるみたいなので改行コードがCR LFですよね。
この回答への補足
ぐぐってる間にさっそくレスありがとうございます。
perlへのパス(#! /bin/perlみたいなヤツですよね?)は他のテスト用のcgiで動作しているので問題ないようにおもえますが....。
ちなみにこんなのでテストしてみました。↓
http://www.sotechsha.co.jp/yutaka/arc/chap2/test …
あと改行コードというのはエンコーディングできるテキストエディタでs-jis保存すればよいのですかね?
今すぐIISで試したいのですが、手元にIISサーバがなく、ある程度原因を掴んでからIISサーバのある所へ出向こうと思っているのです。なので今すぐには試せません。すいません。
No.9
- 回答日時:
すみません、外出していたもので返信が遅れました。
改行コードと漢字コードは違いますよ。
Windowsでしたら秀丸で開いてEUCのCR+LFで保存してください。
後は、IISのログを確認してみたらどうでしょうか?
それが手っ取り早いんですが。
毎度レスして頂き有り難う御座います。
やっぱりEUCとCR+LFがかなーりあやしいという結論に達しました。
秀丸はシェアなのでフリーでなにかいいテキストエディタを探してそいつでいじりながらやってみたいと思います。
IISもログとれるんですか?
調べてみます。
長長とお付き合いくださってありがとうございました。
いったん締め切ります。
またわからなくなったらよろしくお願いします。
No.8
- 回答日時:
間違えました。
UNIX用なのでLFですね。
WindowsがCR LFです。
でも、perl -cでエラーでないという事は改行コードは問題ないのかな?
後はやはり考えられるのは行頭のPerlへのパスなのですが・・・
この回答への補足
整理すると
1.Perlのパス:他のcgiで動いたので多分あってる。
2.改行コード:EUC版とs-jis版の両方を用意してみる。
3.unixで使えてwinで使えない関数があってそれを使っている:ぐぐっても具体的にflock以外どの関数がだめなのかわからないです。
こんな感じでしょうか?
No.5
- 回答日時:
set?
お恥ずかしい事に始めて見ました。
> set $logencoding=shift_jis
これを、
> $logencoding = 'shift_jis';
にしたらどうですか?
この回答への補足
光速レスポンス有り難う御座います。
アドバイスの通り変えてみて、perl -cしてみましたが、エラーは変わりませんでした。
私もsetなんて初めて見ました。
No.4
- 回答日時:
関係大有りです。
本体から読み込むファイルは全て関係します。
エラー内容から何処でエラーになってるかわかりませんか?
この回答への補足
関係大有りですか(汗。
エラーはこんな感じです。
Semicolon seems to be missing at config.dat line46.
synax error at config.dat line 47,near "set"
bareword found where operator expected at config.dat line 116,near ""Content-type" content"
(Missing operator before content?)
Unrecognized character \214 at config.dat line 118
となっていてます。
47行目付近は
# ログファイルの漢字コード(デフォルト=euc-jp)
#set $logencoding=euc-jp
set $logencoding=shift_jis
#set $logencoding=iso-2022-jp
118行目付近は
# ↓の2行は変更しない方が無難
<meta http-equiv="Content-Type" content="text/html;charset=$$encoding$$">
<meta http-equiv="Content-Language" content="jp">
<title>検索結果 powered by msearch</title>
</head>
こんな感じです。
すいませんなにが原因だかさっぱりです。
エンコーディングの設定がおかしいってことですかね?
No.2
- 回答日時:
あ、すみません。
ActivePerlについて詳しく存じ上げませんが、Windows用のPerlにはUNIX用のPerlに実装されていない関数があったのは間違いないと思います。
msearchって、複数のスクリプトで構成されてますよね?
本体にエラーが出なくても外部ファイルがエラー起こしてる事はありませんか?
全てのファイルをperl -cでチェックしてみてください。
この回答への補足
ご相談にのっていただいて有り難う御座います。
すべてperl -cでチェックしてみました。
config.datという設定ファイルにエラーがでました。
これって設定ファイルなので関係ないですかね?
それとも関係大有りですか?
No.1
- 回答日時:
単純にWindowのPerlで実装されていない関数を使っているとか?
HTTPDよりもPerlに問題がある気がしますね。
perl -c でチェックしてみたらどうですか?
この回答への補足
IISにactiveperlをインストールをインストールしても実装されない関数があったりするのですか?
ちなみにインストールしたモノはAPI517e.EXEです。
補足ですがIISで他のcgi(テスト的な簡単なヤツ)は動きました。
perl -cでチェックしたのですが、エラーは出ませんでした。
なんだか乱文ですいません。
混乱気味です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ApacheでのCGIについての質問
-
KENT WEB(昨日の続きです)
-
EXCELファイルに誰がアクセスし...
-
iframeの中から、親frameのURL...
-
ディレクトリごとアクセス制限...
-
cgiファイルを直接は見れなくす...
-
《エクセルVBA》「他の人が該当...
-
2apesの掲示板。
-
private_htmlについて
-
さくらインターネットのCGIの設...
-
CGIの設置
-
PyCharmでのCGIを使ったWebサー...
-
WEBサーバとDBサーバ
-
apacheサーバーでCGIが動かない
-
LAN 上にあるテキストファイル...
-
ASP(IIS?)のエラーについて
-
cgiファイルを他のhtmlファイル...
-
セキュリティの為のSUEXECについて
-
LinuxでAsp.netを構築できるMono
-
なぜフォルダ名がcgi-binなの?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ApacheでのCGIについての質問
-
apacheで動作してIISで動作しな...
-
CGIエラー
-
EXCELファイルに誰がアクセスし...
-
KENT WEB(昨日の続きです)
-
《エクセルVBA》「他の人が該当...
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
-
ASP(IIS?)のエラーについて
-
VBScriptで、ファイルから任意...
-
ASP.NETでメール送信時のエラー
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
URLに~/cgi-bin/~を隠す方法
-
ASPから既存のexcelブックを開...
-
古ーくからフリーのtree.cgi掲...
-
CGIの設置について
-
これってなに!??
-
HTML文書の中で環境変数を使う...
-
イントラネット用HP アクセス解...
おすすめ情報