- ベストアンサー
プログラムに手を加えると×
アクセス解析のCGIをダウンロードして、サーバーに設置しました。 このCGIのプログラムを一部でも変更すると「500 Internal Server Error」となります。 例えば、 &ErrorPrint('不正な値が送信されました。(ANA_DAY)'); の「送信」という部分を削除しただけで「500~」となってしまいます。 その後「送信」の文字を戻してアップロードしても「500~」となります。 更にその後、元々の原版のCGIをアップロードすると問題なく動作します。 どうも、少しでも手を加えると「500~」となってしまうみたいなのです。 他にも掲示板CGIは設置していますが、普通は変更してエラーが出ても、 元に戻すとちゃんと表示されますが、これだけどういうわけかできません。。 他のCGIとの違いをあえて言えば、このCGIプログラムは改行されずに書いてあります。 一部改造したいのですがどうすればよいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
文字コードが違うんじゃないんでしょうか?UTF-8なのにSJISで送信しているとか。
その他の回答 (2)
- t-okura
- ベストアンサー率75% (253/335)
CGI を変更するのに何を使っていますか。 notepad でしょうか。 > 他のCGIとの違いをあえて言えば、このCGIプログラムは改行され > ずに書いてあります。 とのことですが、意図的に改行しないで書いたとは考えにくいです。 Linux で作成したテキストを Windows の notepad で開くと、OS の 改行コードの違いから、複数行のテキストが 1行になります。 notepad ではなく、例えば 秀丸を使用して開くと改行コードの違いを 認識し、正しく表示してくれます。 秀丸のようなエディタで編集してみてはどうでしょうか。
お礼
ご教授いただいた「秀丸」ではなかったのですが、エディタ「TeraPad」をインストールして、 編集してアップロードしたところ、Error・文字化け等全て解決しました。ありがとうございました。
- EFA15EL
- ベストアンサー率37% (2657/7006)
確かに表示する文章の一部を改編しただけでエラーというのはおかしいですね。 あり得るとしたら「プログラムのファイル名を変えている」「アップ時のパーミッション設定を間違っている」「実は他の重要なコードも変えてしまっている」あたりでしょうか。
お礼
どうも保存時の文字コードが影響しているようです。 もうちょっといろいろと試してみたいと思います。ありがとうございました。
お礼
CGIの説明にはUTF-8で保存するように書いてあり、そのようにしてもErrorになります。 ところがいろいろとやっていたところ、ANSIで保存したら表示されました。 ただ、表示内容の一部が文字化けになってしまいました。ありがとうございました。