【CGIが500エラー】原因は改行コードだった!パーミッションやパスじゃない落とし穴

CGIファイルの500エラーを解決
  • URLをコピーしました!

「CGIが500エラーで動かない…」
パーミッションも合っているし、Perlパスも正しい。なのにエラーが出る…。

そんな時、意外なところに落とし穴があります。
私も1時間以上悩みましたが、たった5秒で直る超初歩的な原因でした。

本記事では、CGIの500エラーの意外な原因と、すぐできる解決法を紹介します。

目次

CGIが500エラーになるよくある原因

  • パーミッション(755になっていない)
  • Perlパスの指定ミス
  • ファイル形式の誤り(BOM付きなど)
  • 改行コードの不一致(今回の原因!

多くの解説記事では上2つが注目されがちですが、改行コードも重要なチェックポイントです。

今回の原因:改行コードがLFじゃなかった

私の場合、配布CGIを少し改変してアップロードしただけなのに、すべて500エラー。

結局、改行コードが「CRLF」のままになっていたことが原因でした。
サーバー(Linux)は「LF」を期待しているので、Windowsの改行「CRLF」では正しく動作しません。

改行コードとは?なぜエラーにつながる?

パソコンで文章を書くとき、Enterキーを押すと行が変わりますよね?
実はこの「改行」にも見えない記号(=改行コード)が入っています。

この改行コードは、使っているパソコンの種類(OS)によって違います。

  • Windows:CRLF(「行を変える」+「次の行へ移動する」2つの命令)
  • macOSやLinux(サーバー側):LF(「次の行へ移動する」だけ)

この違いがあるため、Windowsで保存したCGIファイルをそのままサーバーにアップロードすると、
サーバー側は「知らない命令(CR)」を読み取って、エラーを起こすことがあるんです。

たとえるなら、
Windowsの改行は「句読点(。)を2つ使って文章を区切る」ようなもの。

一方で、Linuxは1つの句読点で意味が通じる前提
だから2つあると「え、これ何?間違い?」となって処理を止めてしまいます。

CGIは「命令の書かれたプログラム」です。
そこに余計な文字(=Windows特有の改行コード)が混じってしまうと、正しく読み込めなくなることがあります。
それが「500エラー」という形で現れるわけですね。

改行コードをLFに変更する方法【VS Code編】

  • VS Codeで該当CGIファイルを開く
  • 画面右下の「CRLF」をクリック
  • 「LF」を選択
  • ファイルを保存
VS Codeで改行コードを確認・変更する画面

VS Codeの右下部分。

この『CRLF』が改行コードになるので、『LF』に変更しましょう。
クリックすれば選択肢が出てくるはずです。

これで保存すれば改行コードがLFになる!超簡単!

カゲノ

LFを選んだら、必ず保存を忘れずに!

補足:それでもCGIが動かない場合は?

今回紹介した「改行コードの変更」を試しても、まだ500エラーが直らないことがあります。
その場合、他の小さな設定ミスが原因かもしれません。

以下の2点もあわせて確認してみてください。

ファイルの文字コードは「UTF-8(BOMなし)」になっているか?

ファイルを保存する際の文字コードにも注意が必要です。
とくにWindowsでは、エディタによっては「UTF-8(BOM付き)」という形式で保存されることがあります。

この「BOM(Byte Order Mark)」は、サーバーにとっては余計な情報になるため、CGIが正しく動かなくなる原因になります。

→ 保存時は「UTF-8(BOMなし)」を選ぶようにしましょう。

VS Codeでは、「ファイル」→「名前を付けて保存」→「エンコーディング」(或いはFormat)から選択できます。

● サーバーの「エラーログ」を見てみよう

それでも原因がわからない場合は、レンタルサーバーの管理画面にある「エラーログ」を確認してみましょう。

エラーログには、CGIがどの行でエラーを起こしているか、どんな問題があったかが記録されていることがあります。
難しそうに見えますが、「syntax error」や「unexpected character」などの英単語がヒントになることも多いです。

まとめ|CGIの500エラーで真っ先に改行コードをチェックしよう

CGIが動かないとき、ついパーミッションやパスばかり見がちですが、
実は改行コードという単純なミスが原因のこともあります。

特にWindowsで編集したファイルをサーバーにアップする際は、
改行コードがLFになっているか必ず確認しましょう。

¥3,960 (2025/03/23 01:04時点 | Amazon調べ)
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

当ブログの運営者であり全ての記事を書いた陰の者。
なんでも好きなものだけ書きます。
X(旧Twitter)でも更新情報とたまにくだらないことを発信中。
コメント解放しておりませんので、Xの方で感想いただけると嬉しくて更新が早くなる傾向にあります。調子乗りです。

目次