【スターサーバー】CGI(Perl)を動作させる方法

  • 投稿 : 2018-10-06

なぜか500エラーになって動作しない

starserver-cgi01.jpg

断続的に発生する場合:
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のエラーを表示してくれます。文法間違いとかも表示されます。

スポンサーリンク