「500エラー」でcheck.cgiが見れない…
miyaさん (2010-11-08 15:07:39) www.fukudaryu.co.jp/contact_eiko.html
こんにちは、初めまして。
CGI初心者ですが、こちらのメールフォームの機能や、
丁寧に作られた説明書PDFまでついているところに魅かれ、
ぜひこちらを設置したく、作業に取り組んでいるところです。
説明書も掲示板もよく読んだのですが、もう考えられることは色々やって
行き詰まってしまいましたので、すみませんが質問させてください。
check.cgiにアクセスすると、以下のような内容の500エラーが出ます。
---------------------------------------------------------------------------------
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
Premature end of script headers: check.cgi
If you think this is a server error, please contact the webmaster.
---------------------------------------------------------------------------------
掲示板を見て、500エラーの場合の対処法をやってみたのですが、状況は変わりません。
メールフォームプロ最新版で必要最低限の書き換えのみでアップしてもエラー、
メールフォームCGI UTF-8版でも同じでした。
サーバはフジゼロックスのbeatというもので、FTPソフトを使ってアップするのではなく
管理画面からアップする方式になっています。
■「パーミッションが設定されていない」
…「アップロードにおいて自動的に設定(rwx---r-x)されますので、意識する必要は
ありません。」とのことで、管理画面には設定するところもありません。
■「改行コードがCRLFになっている」
…TeraPadを使用し、「UTF-8N」「LF」で保存しています。
■「文字コードShift_jisから送信しようとしている」
…送信元ページの文字コードは「UTF-8」です。
また、確認画面で「送信」をクリックすると、以下のエラー画面となります。
---------------------------------------------------------------------------------
Content-type: text/html
Software error:
[Mon Nov 8 14:22:32 2010] send.cgi: Can’t locate MIME/Base64.pm in @INC (@INC contains:
/usr/lib/perl5/5.00503/i386-linux /usr/lib/perl5/5.00503
/usr/lib/perl5/site_perl/5.005/i386-linux /usr/lib/perl5/site_perl/5.005 .) at functions.cgi
line 413. BEGIN failed--compilation aborted at functions.cgi line 413.
For help, please send mail to the webmaster (webmaster@fukudaryu.co.jp), giving this error
message and the time and date of the error. Content-type: text/html
Software error:
[Mon Nov 8 14:22:32 2010] send.cgi: [Mon Nov 8 14:22:32 2010] send.cgi: Can’t locate
MIME/Base64.pm in @INC (@INC contains: /usr/lib/perl5/5.00503/i386-linux
/usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i386-linux
/usr/lib/perl5/site_perl/5.005 .) at functions.cgi line 413. [Mon Nov 8 14:22:32 2010]
send.cgi: BEGIN failed--compilation aborted at functions.cgi line 413.
For help, please send mail to the webmaster (webmaster@fukudaryu.co.jp), giving this error
message and the time and date of the error.
---------------------------------------------------------------------------------
perl、sendmailのパスはサーバ指定のものを書いています。
perlのパスについては、後ろに「--」をつけると良いなどの情報もネットで
見られたため試しましたが、変わりませんでした。
あと、海外から向けの問合せフォームに使用するため、ということと
サーバ容量をオーバーしてしまったため、郵便番号辞書フォルダは
アップしていません(これがダメなんでしょうか?)。
JcodeフォルダとJcode.pmを掲示板に書いてあったところからDLし、
send.cgiと同じフォルダに入れています。
cgiはcgi-binフォルダに入れる仕様になっていますので、
そちらにフォルダを作って動的ファイル群をアップしています。
何か原因など思いつく点がありましたらご教授下さいませ。
よろしくお願いします。
Re:「500エラー」でcheck.cgiが見れない…
和田 (2010-11-29 01:39:12) www.synck.com
フジゼロックスとはマニアックですね。
Perlのバージョンが致命的に古いため動かないパターンですね。
MIME.pmというPerl5.0?からの標準モジュールが入っていないためJcodeも動かないので動作しない感じです。普通のメールフォーム(Shift_jis版)なら動くと思いますがUTF-8を処理できないのでお使いのサーバではメールフォームプロは相当イヂらないと動かないと思います。
Re:「500エラー」でcheck.cgiが見れない…
中曽根さん (2011-10-14 16:50:37) /var/www/html/cgi-bin/mailformpro
素晴らしい製品を作成していただきありがとうございます。
メールフォームプロをダウンロードして、社内サーバにてセットアップをしています。
現在
/var/www/html/cgi-bin/mailformpro/check.cgi
が500エラーになってしまいます。
エラーログには
Premature end of script headers: check.cgi
(8)Exec format error: exec of ’/var/www/html/cgi-bin/mailformpro/check.cgi’ failed
試しに、同一ディレクトリ内で test.cgiを作成しました。
#! /usr/bin/perl
print"Content-type:text/html\n\n";
print "test";
こちらは500エラーにならずに test が表示されました。
check.cgiの改行コード 確認しました
check.cgiの先頭行のperlパス 確認しました
お忙しい中大変申し訳ございませんがお気づきの点などございましたら
ご教授をお願いします。