なぜか500エラーになって動作しない
断続的に発生する場合:
CGIの負荷が大きい(CGIプロセスが多数動作している)。
常に発生する場合:
CGIのパーミッション設定に誤りがある。 / CGIのソースコードに問題がある。/ .htaccess の記述に誤りがある
WEBサーバーの仕様 | レンタルサーバー【スターサーバー】
こんなエラーが出るときは、地道に見直しましょう。
チェックポイント
#!/usr/bin/perl
# レスポンスヘッダの出力
print "Content-type: text/html; charset=UTF-8\n\n";
# HTM出力
print "<html>\n";
print "<body>\n";
print "CGI(Perl)表示確認\n";
print "</body>\n";
print "</html>\n";
上記のコードで動作確認しました。
■チェックポイント
・ファイルのパミッション(755)
・UTF-8で保存する
・改行コードは、LFで保存する
・BOMはなしでないとエラー?(Windowsのメモ帳はNG)
改行コードが、LFでないとエラーになります。Windows系はCR+LFが改行コードなのでそのままでは、500エラーになります。
まずは、上記の簡単なCGIを動作させて見てください。500エラーになるのなら、なにか作業が間違ってると思います。
ブラウザに、perlのエラーを表示する
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
# レスポンスヘッダの出力
print "Content-type: text/html; charset=UTF-8\n\n";
# HTM出力
print "<html>\n";
print "<body>\n";
print "CGI(Perl)表示確認\n";
print "</body>\n";
print "</html>\n";
2行目のようなコードを入れると、perlのエラーを表示してくれます。文法間違いとかも表示されます。
スポンサーリンク
コメントを残す