CGI設置でInternal Server Error

NO IMAGE

CGI設置していたら、
500 Internal Server Errorが…

ログを確認してみると

(2)No such file or directory: exec of ‘/ファイルパス/ファイル名.cgi’ failed, referer: ~URL~
Premature end of script headers: ファイル名.cgi, referer: ~URL~

とりあえず、簡単な確認用プログラム作ってファイルパスを確認。

<?php
$output = shell_exec('pwd');
echo $output;

パスは間違っていない。
perlのパスも正しいことを確認。
簡単なperlのCGI置いてみたらそれは動く。

ということで調べてみたら、
改行コードがLFじゃない(CRとかCR+LF)と、500エラーになるそう。

解決方法としては
・改行コードをLFにする
または
・#!/usr/bin/perl --
 (スペース+ハイフン2個を追加)

で動くようになりました。

IT関係カテゴリの最新記事