CGIファイルがあるのに「No such file or directory」エラー

まずはこのgulpタスクを見てほしい。なかなかエモいと思うのだが、いかがだろうか?

gulp.task('cgi-tool', () => {
    return gulp.src('src/form/cgi-tool/**/*')
        .pipe(plumber())
        .pipe(gulp.dest('dist/cgi-tool/'))
})

出オチ感が少しでも出ていれば良いです。gulpも枯れてはいますが、それにしたってこのご時世にcgi-toolという文字列を見ることになるとは思いませんでした。

さて、そんなこんなでPerlをひーこら言いつつ書いてサーバにデプロイしてテストしようと思ったのですが。

CGIWrap encountered an error while attempting to execute this script:

Error Message: No such file or directory
Error Number: 2

エラーメッセージが表示されました。権限付け忘れたかと思ったのですが、メッセージ内容を見るとNo such file or directory。正しくデプロイされているのに?

Perlのパスが違うとこのエラーが表示されるとのことですが、確認したところ、問題なさそうです。

さらに調べると、改行コードのせいでこうなることもあるようです。

試しに違う方法でデプロイしたら、同じファイルをデプロイしたにも関わらず正常に動作しました。

……こんなところに落とし穴があるとは。

参考

この記事を書いた人

アバター

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。