Memo plus Alpha

メモにプラスアルファを加えて価値ある情報に。

コアサーバー(coreserver)でCGIを動かす(Internal Server Errorへの対応)

現象

コアサーバーでCGIを動かそうとすると、Internal Server Errorがでました。プログラムは以下のような単純なもの。

 

#!/usr/bin/perl
print "Content-type: text/html \n\n";
print "Hello";

 

これが何故か動きませんでした。パーミッションも705にしているし、引っかかるようなところはなさそうです。

解決策

解決策は、1行目末尾にハイフンを2つ入れるだけ!

#!/usr/bin/perl --
print "Content-type: text/html \n\n";
print "Hello";

これは改行コードの問題のようです。Windowsで編集していましたが、サーバーはLinuxですので、その齟齬だと思われます。

 

なお、Python CGIを動かすときは、改行コードをLFのみにする必要があるようです(LF+CRだとエラーになります)。これはPythonは改行が区切りとして重要な意味を持っているからだと思われます(perlは1行目以外に改行がなくても機能します)。