INDEX
[apache]CGI で (2)No such file or directory.
- 1 NI-Lab. 2002/08/13(Tue) 23:34
- [apache]CGI で (2)No such file or directory.
またやってしまった……
perlのパスが違ってた。
<症状>
CGIにてInternalServerErrorが発生し、
apache/logs/error_log にこんなの↓が出力される。
[Tue Aug 13 22:xx:xx 2002] [error] (2)No such file or directory: exec of /usr/local/apache/htdocs/nibbs/nibbs.cgi failed
<原因>
CGIを実行させるためのプログラム(Perlとか)がみつからない。
<原因の原因パターン1>
#!/usr/local/bin/perl と指定した場所に perl がない、とか。
<原因の原因パターン2>
CGIスクリプトファイルの改行コードがCR+LF(\r\n)になっている。
#!/usr/local/bin/perl と指定したつもりでも
#!/usr/local/bin/perl\r として扱われるらしい!
<対処方法: 原因の原因パターン1>
perl へのシンボリックリンクを張るか、
スクリプトファイルでの指定先を変える。
<対処方法: 原因の原因パターン2>
改行コードをLF(\n)に変換する。
参考:
http://mm.apache.or.jp/pipermail/newbie/2001-April/000765.html
[Newbie 772] Re: CGIエラー (2)No such fileordirectory:
- 2 NI-Lab. 2003/04/20(Sun) 11:28
- #! /usr/bin/env perl
とすると環境変数 PATH から最初に見つかった perl コマンドが使われるらしい。