締切済み

CGIが実行できません。

  • 困ってます
  • 質問No.296172
  • 閲覧数53
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 54% (13/24)

perl超初心者です。
といっても、実行権を付け忘れるほどの初心者ではありません。
作成したCGIが、あるサーバでは正常に動作するのに
他のサーバだとエラーになってしまいます。
エラーログが見れないため原因がわからず、
想像もつかないしで困っています。
サーバの設定などで変わってくるのでしょうか。

関係あるかどうかわかりませんが、
CGIではsystem()など使用しています。
意味もよくわからずソースを真似ているのですが、
$query_form = new CGI;などもやっています。
あとは取り立てて特別の処理はしていないのですが。。

どなたかご存知の方がいらっしゃいましたら
ご回答よろしくお願いいたします。

回答 (全3件)

  • 回答No.3

ベストアンサー率 35% (56/160)

はじめの一歩としては、コンパイルエラーがないかどうか
確認してみては? と思います。

$ perl -cw hoge.cgi

というように、cwオプションをつければ確認できます。
CGI.pmなどのモジュールが原因の場合だったら、
(その他、perlのバージョンなどの場合も)
これでひっかかるはずです。

systemでなにをしているか分かりませんが、
つかっているコマンドが、そのサーバにはない場合、
(パスに含まれていない場合)がありえます。

UNIX系のサーバであるなら、コマンドがあるかどうか

$ which hoge

のように、whichをつかって確認してみるとよいと
思います。
また、オプションの指定の仕方も、helpオプションなど
使えそうな手段で確認してみて下さい。

ただし、systemの場合、やっている内容が原因のことも
あるので、コマンドはあるし、オプションも正しいから
といって、これが原因ではない、とは限りません。

何にしても、情報がほとんどないので、原因をつかむのは
ほぼ不可能です。
でも、だからといって、全ソースをコピペしろ、
という積もりもありません。

部分的にソースにアヤしそうなところがあるなら、再度
お知らせ下さい。
また、サーバが何であるのか等の情報も重要です。
感謝経済、優待交換9月20日スタート
  • 回答No.2

ベストアンサー率 33% (2/6)

perlの位置は合ってますか?
cgiの一番最初にperlの場所を指定するかと思いますが、
そのpathがperlのインストールされている先と違うようなら動きません。
他のサーバでは正常に動作するとの事なので、一度確認その部分を確認されてみては
どうでしょうか?

ちなみに、perlの場所は #which perl とたたけば所在を教えてくれます。
  • 回答No.1

ベストアンサー率 44% (4/9)

サーバが変わったら、動かなくなったとの事ですが、
パーミッション関係ではないとすれば、多分モジュール関係だと思います。
useとかrequireで何か呼び出しているでしょうか。
その辺を確認してみたらどうでしょうか。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ