• ベストアンサー

cgiが動作しないのは?

サーバー移転でメールフォームのcgiを移動させたらcgiが動作しなくなりました。 パーミッション・perlのパス等は移転する前と同じ設定にしています。 メールの内容の確認ボタンをクリックすると、cgiが動作し確認画面へいくのが正しい動作なのですが、現状はメールの内容の確認ボタンをクリックするとcgiの内容が表示されてしまいます。 サーバー側の設定の問題なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yk1960
  • ベストアンサー率60% (29/48)
回答No.1

推測ですが下記のどれかではないでしょうか? ○perlのパスがそのサーバーの要求するものと違う 通常は下記のどちらかです。 /usr/bin/perl /usr/local/bin/perl → フォームプログラム本体の一行目のパス指定を上記 いずれかに変えてみる ○パーミッション たまに757で作動するプログラムがありますが 755 でしか 動かないサーバーがあります。一般的には755 705です。 新サーバーはどれですか?いろいろ試してみます。 ○ご利用の新サーバーは、cgi-bin フォルダでしかcgiが動かない → 関連するcgiプログラムのファイルをcgi-binフォルダに移動して パーミッションを設定します。 フォームの作成もperlプログラムで生成する形式のプログラムで あればそのまま使えます。 フォームは通常のHTMLファイルとして存在する場合は、そのフォーム 内の<fomr action=~>のパスを書き直して設置する必要があります。 ○新サーバーはcgiは別オプションになっていて申し込みが別途必要。 →サーバー会社に聞かれるとよいでしょう。 ○jcode.pmやjcode.plなどの関連ファイルやモジュールファイルがない。 configファイル系統が正しく設定されていない。etc. ○専用サーバーやVPSサーバーなどでは、もともとcgi設定がされて いないことが多々あります。 httpd.conf や.htacessファイルでperl作動設定をしなくてはなりません。 以上推測ですがご確認をおすすめします。

curimiru
質問者

お礼

多数のご回答・解決方法のアドバイスありがとうございます。 確認してみます。

関連するQ&A