CGIエラー:ファイルが有るのに「No such file or directory: exec of 〜」
CGIファイルがある状態で「No such file or directory: exec of 〜」
引き続きCGIエラーの記事です。
CGIが動作する状態で実行するCGIファイルが存在するのに状態でApacheのエラーには「(2)No such file or directory: exec of」とエラーが表示されCGIが動きません
[Mon Nov 27 14:04:07 2017] [error] [client xxx.xxx.xxx.xxx] (2)No such file or directory: exec of '/var/www/html/cgi-bin/test.cgi' failed
Perlのパスが間違っている可能性もありますが、下記の通りCGIファイルの先頭行にあるPerlのパスが「/usr/bin/perl」となっていて、Perlの自身のパスと一緒です
$ which perl /usr/bin/perl $ head -1 /var/www/html/cgi-bin/test.cgi #!/usr/bin/perl
Perlのパスの問題でもなければ、あと考えられるのは改行コードです。
実際に「cat -e」コマンドオプションをつけて確認してました。
「^M$」となっておりこの場合は、Windows系の使われている改行コードの「CRLF」となっておりCGIが動いているLinuxサーバーと改行コードが違うため動作しなかったようです
改行コードを修正すると問題なくCGIが動作しました。
$ cat -e /var/www/html/cgi-bin/test.cgi #!/usr/bin/perl^M$ ^M$ ^M$
ディスカッション
コメント一覧
まだ、コメントがありません