2007.12.24 Mon
CGIが動かない時の確認項目 改行コードが原因かも?
レンタルサーバー、自宅サーバー共通の話ですが、CGIを有効にしているにもかかわらずCGIが実行できないことがあります。
CGIが動かなくて困った、という場合は下記の点をご確認ください。
確認項目
- CGIが動作するディレクトリを確認。public_html/cgi-bin の下で動作可能な場合はpublic_html/cgi-bin に置いてください。
- perlのパスの確認 サーバー環境によって /usr/local/bin/perl であったり /usr/bin/perl の場合があります。
- CGIを転送するときにbinaryモードを利用ようして転送したか?サーバー環境によっては改行コードがLFでなければ動作しない場合があります。CGIプログラムの改行コードを CR-LF , CR の場合は LF に変更してください。
- CGIのパーミッションの設定。(パーミッションはディレクトリも含めて設定が必要です)
- apacheの設定で、<Direcotry>のOptionsにExecCGIを追加しているか確認
この中でも一番よく聞くのが改行コードが原因でCGIが実行ができないという状態です。改行コード自体はスクリプトと違いツールで確認しなければ、コードの違いがわかりません。CGIの改行コードを調べるにはフリーソフトでも簡単に調べることができるので、確認してみてはどうでしょうか?