記事内に広告が含まれています。

CGIが500エラーで動かない…原因と解決まで

CGIファイルの500エラーを解決 IT
IT
スポンサーリンク
     

パーミッションもPealパスもあってるのにCGIが動かない


何度確かめても設定は合っている。

そもそも配布されているCGIファイルを少し変更してアップロードしただけだし、
すぐ終わる作業と思っていたんだけど。

なのに、
どのCGIを開いても500エラーになるんだが!?!?

そんなパニック状態に陥った私。
何かとんでもないやらかしをして、レンタルサーバーに負担かけて、banされたんか!?
そんなことまで頭を過った。

しかし、解決法はごく単純なことでした。
一時間以上、検索して試してダメで…を繰り返しましたが、
5秒で直りました。

単純すぎて引っ張るのは恥ずかしいので結論を早々に書きます。

500エラーの原因は改行だった

CGIファイルの改行コードがLFになってなかった

以上です。
パーミッションとかパスとか以前の問題でした。

何のことやら?と思った人・改行コードの変更方法が分からない人だけ続きをみてください。

改行コードってなんぞや

色んなブログで詳細は書いてあると思うので、
ここでは難しい話は省きます。

とにかく、改行コードというものがあって、それはOSによって違うわけなのです。
サーバーはLinuxというOSなので、私たち一般人が普段使用しているOSとは違いますよね。

私達の使っているOSの改行コードのまま、サーバーにアップロードしてしまうと、サーバー側では必要のない無駄な文字が勝手に入ってしまうことになります。
意図している中身とは違うものがアップロードされることになります。

なのでこの改行コードをLinux用の『LF』に変更しなければエラーが起きてしまうということなんですね。

改行コードを変える方法【VS Code】

VS Codeだと、ファイルを編集している時に右下に出てくるこれ。

VS Codeの右下部分

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

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