SunMonTueWedThuFriSat
Apr
2
1
3
5
0
3
4
May
5
2
1
1
3
1
2
1
1
0
1
1
1
2
2
0
2
4
2
0
0
3
0
1
2
2
8
3
Jun
2
8
2
1
0
4
2
3
0
3
3
0
1
2
6
3
4
1
6
2
2
4
2
0
4
2
1
1
2
3
6
2
6
0
0
Jul
6
1
1
0
0
1
2
1
2
1
2
1
1
2
1
0
0
0
1
0
0
2
0
0
1
5
2
3
Aug
6
4
0
1
1
1
2
6
3
0
1
0
0
3
3
8
1
1
3
1
1
0
2
1
1
3
0
2
3
3
2
0
4
1
2
Sep
0
1
3
3
1
0
3
0
1
1
0
3
1
0
3
6
14
1
0
0
0
8
2
3
1
0
0
2
Oct
6
1
0
0
1
0
3
0
0
1
0
2
0
1
0
0
0
3
5
0
0
0
0
0
0
2
1
0
Nov
0
1
0
1
0
5
0
1
4
1
0
0
0
0
2
0
1
2
2
0
0
0
0
0
0
2
1
1
1
0
5
3
7
0
2
Dec
4
2
0
2
1
0
0
1
2
1
0
0
0
0
0
0
1
0
3
2
4
1
7
4
1
3
11
2
Jan
3
2
2
9
2
1
11
3
3
3
5
6
3
3
13
6
2
1
1
3
8
4
4
5
1
3
1
5
Feb
5
4
2
2
2
3
0
0
5
2
2
0
0
0
1
0
1
0
2
1
3
0
4
4
3
3
0
3
Mar
4
0
5
1
0
1
1
0
0
1
3
1
1
2
1
1
1
4
0
1
2
1
1
1
0
1
2
0
3
1
3
4
0
2
3
Apr
1
1
0
1
0
4
5
7
3
2
1
2
1
1
2
0
0
1
0
2
2
2
1
3
1
2
0
9
May
0
▼改行コードかな……?
なんとなく改行コードが問題の可能性もあるかな……という気もしてきました。
サーバのファイルマネージャが、どんな改行コードを出力しているのかが分かりませんので。
🍘対処方法1:
サーバのファイルマネージャの編集機能に、改行コードを指定して保存する機能はありますでしょうか? あれば LF だけにして保存した上で再度アクセスを試して頂きたいのですが。
🍘対処方法2:
もし、そのような機能がない場合は、
一度、ローカルで tegalog.cgi を編集して、改行コードが LF だけになるようにして上書き保存した上で、FTPのバイナリモードでアップロードしてみて頂けますでしょうか。
お使いのPCは、Windowsでしょうか?
タイムリーなことに、昨夜、WitchServerのサポートさんがその具体的な操作手順を案内して下さっていますので参考になさって下さい。
※文字コードを UTF-8 にしているとき、BOM(Byte Order Mark)が先頭に付与されるとたぶんマズいので、UTF-8で保存する際には、「UTF-8(BOMなし)」とか「UTF-8N」のような選択肢を選択して保存する必要がある点にもご注意下さい。
🍘対処方法3:
tegalog.cgi の1行目を #! /usr/bin/perl -- にしてみて下さい。「perl」の後に半角空白を開けてから半角ハイフン記号を2つ並べます。
それでもダメな場合は、
tegalog.cgi の1行目を #!!/usr/bin/perlml にしてみて下さい。mixhostで「lscgid: execve():〜〜〜: No such file or directory」というエラーが報告される場合の対処法としてググったら出てきましたので。^^;
▼.htaccessはどうかな
500エラーが出るときの、ブラウザのアドレス欄には、tegalog.cgi というファイル名が見えていますか?
もしかして、 500.shtml というファイル名が見えていないでしょうか。(お書き下さったエラーは、「500.shtml がない」というエラーですので……。)
もし、500エラーが出るときに「元々のURL」ではなく「エラー画面専用のURL」に移動してしまっている場合は、.htaccessの書き方に問題があります。
エラーページに恒久的に転送するよう記述してしまうと、ブラウザが「500エラーページへの転送」をキャッシュしてしまうので、CGIの動作に問題がなくなった以後でも最初から問答無用で500エラーページに転送されてしまいます。
🍘対処方法:
今まで tegalog.cgi にアクセスしたことのないブラウザを使ってアクセスして見て下さい。
もしくは、ブラウザのキャッシュを全削除してからアクセスしてみて下さい。
▼ただの転記ミスだとは思うのですが
tegalog.cgi の1行目を編集なさったということで 「 #! /usr/local/bin/per 」とお書き頂いていますが、これは「 #! /usr/local/bin/perl 」の転記ミスでしょうかね?
もし転記ミスではなくて本当に「 per 」と書いているなら、「 perl 」にして下さい。
(ただ、mixhost側が指定しているPerlパスは /usr/bin/perl のようです。)
▼他のCGIは動作していますか?
てがろぐ以外に何かCGIはお使いでしょうか。それらは動作していますか?
てがろぐ以外にCGIがない場合は、以下の3行を test.cgi 等のファイル名で保存してUPして、パーミッションを 700 または 705 または 755 にして、ブラウザでアクセスしてみて下さい。
#! /usr/bin/perl
print "Content-type: text/html \n\n";
print "Hello World!";
これで、ブラウザに「Hello Wold!」と表示されるかどうかを確かめてみて下さい。
これでも500エラーが出る場合、改行コードが LF だけになっているかどうかを確かめてみて下さい。
それでも500エラーになる場合は、もっと何か根本的なところに問題がある気がします。