犬ターネット

(2)No such file or directory: exec of '/var/www/cgi-bin/test.cgi' failed

2014-04-23 perl

あるcgiをサーバにアップロードしてブラウザからアクセスしたら Internal Server Error が出てエラーログに以下の内容が出力された。

(2)No such file or directory: exec of '/var/www/cgi-bin/test.cgi' failed

ファイルは存在するし権限与えてるしなんでだと思って調べたら、ファイルの改行コードが LF(\n) じゃなくて CRLF(\r\n) なのが原因だった。

つまり、cgi先頭の #!/usr/bin/perl が CRLF のせいで #!/usr/bin/perl\r になってしまった、と。

改行コードを LF に統一したら動作した。

つうかこのエラー、perl-cgi界隈だと初心者がハマる有名なやつっぽい。はー


ひらがな一文字でGoogle画像検索すると

死んだ友達から投稿があった