もともとWindowの環境で書かれたCGIファイル(Perl)を
LINUXで編集したいのですが、編集後、Internal Server Error
がでています。

S-JISで書かれた日本語コメント部分はそのままにしているのですが、
これが問題なのでしょうか。
ちなみに、オリジナルのソースはftpでサーバーにあげ(使用環境は
Apacheです)、きちんとCRは除去してあり、何もいじらない場合は
問題無く動作しています。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

 Internet Server ErrorでしたらS-JISの問題ではないと思います。

また、スクリプトも動いています。恐らくコーディングミスではないでしょうか?
";"を忘れた、とか←私もよくやります
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございました。
原因は、EUCに変換する際に、ゴミがはいってしまっていたこと(おそらく
半角文字)が入っていたことが原因だったようです。
調べてこれを取り除いたところ、編集してもErrorが出なくなりました。
どうもありがとうございました。

お礼日時:2001/11/05 17:01

回答に確信はないのですが、思い付くままに。



UNIX上の perl は、普通 SJISでなくてEUCをサポートしていますが、コメント部分なら問題ないと思います。

「LINUXで編集したい」 というのは、サーバー上で編集したいということですよね。 編集前後で、問題が発生するということは、その編集内容を疑ってみては?

他に、 permission は、正しく設定されていますか?
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。
編集内容はプログラムに差し障りの無い物だったので、他に原因があると思い、
調査したところ、編集対象のcgiファイルをftpでサーバーにもってくる際に、
やはりゴミが入っていたようで、このゴミを取り除いたところ
正常に動作しました。

どうもありがとうございました。

お礼日時:2001/11/05 16:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QInternal Server Error になってしまいます。

とある書籍を元にperlを学んでいます。まだ初心者で少々わかりずらい質問になってしまっているかもしれませんが、よろしくお願いします。
下記のコードがある事で Internal Server Error になってしまいます。

open(FILE,">>$logfile") or die("エラー:ログファイルが開けませんでした。");

$logfileの変数値には本日の日付 + .dat が入ります。
自分なりにいろいろ原因を探してみて、$logfileの変数値と同名のファイルをあらかじめ用意してやればエラーにはならない事がわかりました。
それから >> と書けば「対象ファイルが存在しない場合は新規作成される」と書籍には説明があるのですが、新規ファイルは作成されていませんが、>>はそのような動作にはならないものなのでしょうか?
それから、or die 以降を削除してしまえば エラーは起きませんでした。

上記コードがあるとなぜ Internal Server Error になってしまうのでしょうか?
アドバイスやご教授をよろしくお願いします。

とある書籍を元にperlを学んでいます。まだ初心者で少々わかりずらい質問になってしまっているかもしれませんが、よろしくお願いします。
下記のコードがある事で Internal Server Error になってしまいます。

open(FILE,">>$logfile") or die("エラー:ログファイルが開けませんでした。");

$logfileの変数値には本日の日付 + .dat が入ります。
自分なりにいろいろ原因を探してみて、$logfileの変数値と同名のファイルをあらかじめ用意してやればエラーにはならない事がわかりました。
それから >> と書...続きを読む

Aベストアンサー

ディレクトリィには書き込み権限と言うのがあります。
書き込み権限には、owner、group、otherがあり
otherに書き込み権限が無いとWebから実行しても
ファイルは作成出来ない場合があります。

”同名のファイルをあらかじめ用意”とありますが
これの書き込み権限には、otherに書き込み権限があったんでは
ないのでしょうか?

Qメールフォーム作成でInternal server errorと出ます。

皆様こんばんは。メールフォーム作成で困っております。
練習中なのでありますがホームページビルダー11に付いていました
メールフォームCGIを利用しレンタルサーバーへUPしてみましたが
Internal server error500と出てしまいます。

レンタルサーバーはPerlとsendmailはOKです。
ファイル構成です。
index.html
kansou.htm
kansou.cgi 
jcode.pl です。同じディレクトリです。FFFTでパーミッションは755にしてあります。アスキーモード利用

kansou.cgiの最初のあたり
------------------------------------
#!/usr/bin/perl
#
# (C) COPYRIGHT International Business Machines Corp. 1999
# All Rights Reserved
#

#------ sendmailパスの指定 -------------------------------------
# 以下の、$mailprogに、サーバー上にある"sendmail"コマンドをフルパスで
# 記入します。詳しくは、プロバイダのガイドに従ってください。
# (例) $mailprog = '/usr/lib/sendmail';
$sendmail = '/usr/sbin/sendmail';
$mailto = 'aaa@aaaa.co.jp';
#---------------------------------------------------------------
require 'jcode.pl';
ここまで。

-------------------------------------
kansou.htmの最初あたりのHTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>感想ページ</TITLE>
</HEAD>
<BODY bgcolor="#ffffff">
<H2 align="center"><I>お問い合わせフォーム<BR>
<BR>
下記に必要事項をご記入の上、送信ボタンを押して下さい。</I></H2>
<HR>
<FORM action="kansou.cgi" method="POST"><INPUT type="hidden" name="to" value="aaa@aaaa.co.jp">
<CENTER>

このあたりまで記載します。
どこが悪いのか何度試してもよく分りません。
どなたかアドバイスして頂けないでしょうか。

皆様こんばんは。メールフォーム作成で困っております。
練習中なのでありますがホームページビルダー11に付いていました
メールフォームCGIを利用しレンタルサーバーへUPしてみましたが
Internal server error500と出てしまいます。

レンタルサーバーはPerlとsendmailはOKです。
ファイル構成です。
index.html
kansou.htm
kansou.cgi 
jcode.pl です。同じディレクトリです。FFFTでパーミッションは755にしてあります。アスキーモード利用

kansou.cgiの最初のあたり
-------------------------...続きを読む

Aベストアンサー

> $sendmail = '/usr/sbin/sendmail';
↑↑↑↑↑
sendmailパスの変数は、$mailprog ではないのですか?
$mailprog = '/usr/sbin/sendmail';

QInternal Server Error CGIが設置できず・・・・

レンタルスペース
http://fh.aaacafe.ne.jp/

設置CGI
http://dream.lib.net/room/cgi/download.html#chat
(アイコン無し)

をアップロードし、サーバー側の要求するパーミッションに設定したんですが、
「Internal Server Error」と出ます。。

分かるかた、なにが原因でできないか、
どうしたらよいかを教えてください!御願いします。

Aベストアンサー

aaacafeさんのパーミッションの指定はcgi拡張子の705
だけです。
他のパーミッションはいじらずにディフォルトのままです。

dream.lib.netさんのスプリクトの
頭にあるインタプリタ行はaaacafeさんの指定するものと
同じ
#!/usr/bin/perl
になってると思います。
極端な話、落としてきたスプリクトをそのままアップロードしても動きます。
今一度、スプリクトを何もいじらない状態にてアップロードしてみる事をおすすめします。

動作する事を確認してから、ホーム等必要な箇所を書き換えるといいと思います。
転送モードはテキストです。

Q買い物カゴのCGI エラーInternal Server Error どうすればいいのでしょう

iMac DV SE(G3, 500MHz) OS 9.2.2 です。
買い物カゴをもう数年前から何回も設置してうまくいっていたのですが、今回改訂したら動かなくなってしまいました。cart.html(買い物で商品の個数を入れるページ)から、「買い物カゴに入れる」ボタンをクリックすると、次のエラーが出てしまいます。この時のアドレスは、http://www.*******.com/acart/setcook.cgi です。setcook.cgiは間違いなくここにありますし、パーミッションも点検しています。何か問題が考えられることがあるでしょうか。
-------------------------------------------------

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@*******.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Apache/1.3.33 Server at www.*******.com Port 80

-------------------------------------------------
*****は伏せ字にしました。

iMac DV SE(G3, 500MHz) OS 9.2.2 です。
買い物カゴをもう数年前から何回も設置してうまくいっていたのですが、今回改訂したら動かなくなってしまいました。cart.html(買い物で商品の個数を入れるページ)から、「買い物カゴに入れる」ボタンをクリックすると、次のエラーが出てしまいます。この時のアドレスは、http://www.*******.com/acart/setcook.cgi です。setcook.cgiは間違いなくここにありますし、パーミッションも点検しています。何か問題が考えられることがあるでしょうか。
----------------...続きを読む

Aベストアンサー

下記のQ&Aは読まれましたか?
一番下に、最後に注文するとサーバーエラーが起きる原因が書かれています

参考URL:http://anglers-net.com/book/booksupport.html

QInternal Server Errorについて

いつもご丁寧なご回答本当にありがとうございます。

postmailをサーバーに転送し、メールの送信を試してみたところ下記のエラーが出てしまいました。
パーミッションの確認、センドメールのパス、CGIのパス、メールアドレスの確認もしましたが、間違っていないようです。
サーバーはセンドメール自作CGIが使えるサーバーです。
入力ソースのformもpostmail-cgiで記載しています。

良い、アドバイスがありましたら是非、宜しくお願いいたします。

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, info@stepserver.jp and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.



--------------------------------------------------------------------------------

Apache/1.3.41 Server at sss002.kix.ad.jp Port 443

いつもご丁寧なご回答本当にありがとうございます。

postmailをサーバーに転送し、メールの送信を試してみたところ下記のエラーが出てしまいました。
パーミッションの確認、センドメールのパス、CGIのパス、メールアドレスの確認もしましたが、間違っていないようです。
サーバーはセンドメール自作CGIが使えるサーバーです。
入力ソースのformもpostmail-cgiで記載しています。

良い、アドバイスがありましたら是非、宜しくお願いいたします。

Internal Server Error
The server encountered...続きを読む

Aベストアンサー

 meil送信をcgiでお作りになっているとすれば文字コード変換などのjcode.pm(pl)、また送信時の 7bitに変換する mimew.pl などのライブラリなどをお使いになっていますでしょうか。

 そこのところへのrequereのパスなどが違っていたり、またはそれ自体をFTPし忘れている。
 他には、初期設定にてパスなどを記述した時などに、つい ' や ; などが抜けていたなどがありますが。


このカテゴリの人気Q&Aランキング

おすすめ情報