原因 | Cgiで使用するファイルをWWWサーバーに転送している |
対策 | WWWサーバーではCgiの実行はできません。Cgi関連ファイルをCgiサーバーに転送してご使用下さい。 |
原因 | Cgiで使用ファイルがAscii(Txet)モードにて転送されていない |
対策 | Cgi実行ファイル(.cgiや.pl等)、ログ保存ファイル(.dat等)の転送時にFTPクライアントの拡張子自動判別機能によりBinary(IMAGEモード、RAW DATAモード)で転送される場合があります。Cgi関連ファイルは必ずAscii(Text)モードにて転送して下さい。 |
原因 | パーミッションが正しくない変更されていない |
対策 | Cgiファイルを転送後、そのままだと正しく動作しません。必ずパーミッション(実行権)の変更が必要です。正しく変更されているかご確認下さい。 |
原因 | 「.htaccess」を認証機能以外の目的で設置している |
対策 | 3WebではCgiの実行に「.htaccess」の設置は必要ありません。 間違った設置をするとエラーとなりますのでご注意下さい。 「.htaccess」は「.htaccess」を用いたアクセス認証のみ設置することができます。→「Cgi、SSI使用の諸注意」 |
原因 | 文法的にCgiプログラムが間違っている |
対策 | Cgiプログラム自身の見直しをお願いします。 |
基本的なCgiの転送手順
1.Cgiプログラムを作成後、Cgiサーバーの「public_html」内にAscii(Text)モードで転送します。
転送場所は「public_html」内であればどこでも結構です。
2.パーミッションを変更します。パーミッションの変更にはFTPソフトやTelnetを使用します。
Cgi実行プログラム(.cgiや.plといった拡張子)やライブラリ等(jcode.pl)等のパーミッションは
「755」、データーを保存するファイル等(.datや.txtといった拡張子)は「666」にします。
3.Cgiプログラムで使う全てのファイルの転送とパーミッションの変更が終えれば完了です。
詳しくは専門書および配布Cgiの場合は手引書をご参考下さい。
WWWサーバーからCGIの呼び出し方
基本的に通常のリンクタグを使用します。
例えばユーザーIDが「abc」で使用しているサーバーがそれぞれwww.osk.3web.ne.jp、cgi.osk.3web.ne.jpで、
wwwサーバーよりテストCgi(test.cgi)を呼び出す場合
<a href="http://cgi.osk.3web.ne.jp/~abc/test.cgi">テストCgi</a>
といった形になります。