ロリポップサーバのCGIでlscgid: execve():/home/xx/public_html/cgi-bin/perl.cgi: No such file or directoryのエラーに遭遇した

Pocket

ロリポップ上にCGIを構築する案件があった。

フレームワークがありふれている中で、今更CGI?という案件だが、レンタルサーバで動かす以上、未だにフレームワークを動かせないことがおおいので仕方なく使うことは未だにある。

当たり前だがまずはちゃんとフォルダがそこにあるかを確認する。

指定したパスにperl.cgiがあるよね、っていうのはまず確認すべき。エラーメッセージがNo such file or directoryとなっているので。

改行コードを確認

私の場合は、Windowsでファイルを作成していたので、Windowsの改行コードになっていた。しかしロリポップはおそらくLinuxサーバなので、改行コードを合わせないといけない。それ故にファイルが上手く読み込めずにエラーになっていた。

どうやって治すか

Linuxならさくっとsedを使ってなおすが今の私のメインPCはWindowsになりつつあるのでWindowsで治すには以下の方法で直した。

  • Notepad ++ で指定のファイルを開く
  • Editを選択
  • EOL Conversionを選択
  • Linuxを選択してファイルを保存

わかりやすくキャプチャを貼ると以下の箇所である。

コメントを残す