• ベストアンサー

cgiが動作しない 実行すると 構文が出る

無料cgiのKENTWEBさんの ClipMailを使用していますが、上手く動作せず困っています。 http://www.kent-web.com/data/clipmail.htmlcgi 通常なら送信ボタンを押せば、内容確認画面へ遷移するのですが、確認画面が表示されずcgiの構文がブラウザに表示されるだけで動作しません。 パーミッションの設定も指示通り行い、アスキーモードで送信もしているのですが上手く行かず困っています。 症状から何が間違っているか分かりますでしょうか? 他、何か表記しないと答え辛い事等があれば追記します。 宜しくお願いします。

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

 エラーにならなくて、素のテキストで表示されるということは、そのディレクトリではCGIとして動作していないということです。 ・・・その場合、古いシステムではサーバーはテキストファイルとして送り返すのがデフォルトの場合が多い・・・  ですから、ご利用のサービスのマニュアルを読んでください。  また、.htaccessファイルで、その設定を上書きできるかもしれません。それも確認すること。  いずれも、ここで聞いてもわからない内容です。

matsuch
質問者

お礼

業者に依頼した時のディレクトリに入っていた以下の内容の.htaccessのファイルを置く事で改善しました。ありがとうございました! 構文の内容が何を意味するのかイマイチ判りませんので、教えて頂いた用件を担っている構文なのか判りませんので、なにやらモヤモヤしますが。。 DirectoryIndex index.html index.php Options -Indexes Options +ExecCGI AddType application/x-httpd-cgi .cgi .pl AddDefaultCharset SJIS <IfModule mod_php4.c> php_value mbstring.language Japanese php_value mbstring.http_input auto php_value mbstring.http_output SJIS php_value mbstring.internal_encoding SJIS php_value mbstring.detect_order auto php_value mbstring.substitute_character none; </IfModule>

その他の回答 (2)

回答No.2

サーバーによっては、パーミッションが705では動かなくて、755で動く場合もあります。

matsuch
質問者

お礼

ありがとうございます。

  • heinell
  • ベストアンサー率35% (420/1172)
回答No.1

そのcgiを置いてるサーバの指定を確認してみるのがいいでしょう。 大概Perlのcgiは #!/usr/bin/perl から始まってると思いますが、これは/usr/bin/というディレクトリにあるperlってプログラムを使って以下を処理しろ…って意味です。 そのサーバで/usr/bin/にperlを置いてなければ動きません。 また、cgiを置くディレクトリに専用の指定がある場合もあります。 普通のhtmlを置くディレクトリでは絶対にcgiが動作せず、専用の場所じゃないとダメというのもあります。 あと、そもそもcgi実行を許可していないサーバだったら当然無理ですが… 昔は結構ありましたが、最近自前でcgiを置く事が無いので詳しくないです。

matsuch
質問者

お礼

ありがとうございます。

関連するQ&A