現在制作中の『ナオのリドル10題 Vol.18』のクリア報告掲示板用で使うCGIや各種データファイルをアップロードして、動かしてみようと思ったら、出ました。
505エラー。
おかしいな、Vol.17のCGIを流用して、ファイル名とかを変えただけなんだけどな…
500ってどういうときに出るのだろうと調べてみたら、大体次のような情報が得られました。
- CGI設置ディレクトリのパーミッションが755、705のいずれかで設定されていない
- プログラム側の記述に誤りがある
- 同時接続数などが影響し、リソース制限がかかっている可能性もある
パーミッションはVol.17のと同じように設定した。
プログラムの記述もチェックしたけどperlの構文に問題はない(はず)。
同時接続数…他に誰も接続してないでしょw
Vol.17とVol.18で違う点が何かあっただろうかと思ったら、ひとつ思い当たりました。
使っているFTPツールが違う!
そうなんです。
従来はFFFTPを使っていましたが、ある理由でSFTPを使う必要が生じたため、WinSCPに乗り換えたのです。
ということは、WinSCPの転送設定に何か問題がある…?
そしてついに突き止めました。
すべての種類のファイルについて、転送モードがバイナリだった…!
CGIや各種データファイルをテキストモードで転送するよう設定する(WinSCPの場合、転送モードを「自動」にする)と、無事解決できました。
どうしてもCGIの500エラーを解決できない人は、FTPツールの転送設定にも目を向けてみてください。
— Please feel free to contact me —