CGIのいろは(CGI設置講座)&CGIのFAQ
設置ミスの問題†
CGIを設置しても、動作しない場合の対処法です。
一般的な設置ミスはこのどれかです。
解凍したらログファイルがない。†
Machintosh の一部の解凍ソフトで、何もない空っぽのファイルを、勝手に削除する場合があるようです。
この場合、足りないファイルは自分で作成するか,他の解凍ソフトを試してください。
自分で作成する場合は、空っぽのファイルをテキストエディタなどで作成してください。
スクリプトがそのまま表示されてしまいます。†
次の【ダウンロードを開始してしまいます。】をご覧ください。
ダウンロードを開始してしまいます。†
ウェブサーバ(事業者が設置しているPC)がCGIのファイルだと認識していないときにおきます。
主な原因は3つあります。
- Perlのパスが間違っている
ほとんどの場合は、Perlのパスが間違っています。
CGI-StaTionでは、一般的なウェブサーバを想定し、
#!/usr/local/bin/perl
としていますが、あなたのウェブサーバでは違う可能性が高いです。
ウェブサーバに問い合わせることが無難です。
文字化けしてしまいます。†
CGI-StaTion のスクリプトは一部を除いて、自動認識で文字化けを防ぎます。
通常は文字化けは考えられませんので、改造ミスが原因であることがほとんどです。
以下の2点を調べてください。
保証はしませんが、CGI-StaTion では、一部のスクリプトを除き、UNIXで一般的に使われている文字コード EUC、および,メールなどで有名な JIS にも対応しています。
投稿時間がずれてしまいます。†
CGI-StaTionで配布するCGIは、海外サーバに設置しても日本時間になるようになっています。
時間がずれるのは2点、考えられます。
- 純粋に日本時間からずれている
普通にずれている場合があります。
ウェブサーバ側がずれているのか、スクリプトの設定を無視されているかのどちらかです。
これは、設定で秒単位でずれを指定できるように、スクリプト側で対処していく予定です。
- 日本時間じゃなくて海外時間にしたい
もし、海外時間にする場合の参考です。
設定項目で以下のような内容があるはずです。
タイムゾーン:JST-9
ここで、アルファベット3文字が地域などを示しています。
- GMT → 世界標準時間</li>
- JST → 日本標準時間</li>
- PST → 太平洋標準時間</li>
- MST → 山地標準時間</li>
- CST → 中部標準時間</li>
- EST → 東部標準時間</li>
そして、-9 が世界標準時間(GMT)からのずれを示しています。
で、具体的にどうするかというと……
世界中の時刻なんて、示せません(涙
あくまで参考までです。
画像が表示されません。†
画像ファイルがちゃんとあるのか確認します。
- 画像があるかチェック
ブラウザに画像のURLを直接書いて、ブラウザに画像が表示できるか確認しましょう。
無い場合は、以下をチェック
- URLが間違っている。
- FTPでアップロードを忘れている
これは、説明不要だと思います。
URLを確かめる、もしくは、画像をアップロードしてください。
- ウェブサーバ事業者側で制限されている
ウェブサーバ事業者側(NiftyやTripodなど)によっては、画像をCGIと同じディレクトリ(フォルダ)以下に置くと画像を表示できません。
ウェブサーバ事業者側のHPに説明があると思いますが、一般的には以下のどちらかの方法で回避します。
- 画像ファイルを置くディレクトリ(フォルダ)を変更する
CGI以外の画像などのファイルを別ディレクトリ(フォルダ)に変更し、CGIの変更を設定しなおします。
- 1.画像ファイルの強制表示機能を使う
対応しているCGIなら、画像の強制表示機能が利用できます。
この場合は、CGIファイルを別フォルダに移動したりする必要はありません。
- 2.FTPでアップロードするとき、テキストモードにしてしまった。
バイナリモードでアップロードしてください。
詳しくは、FTPを参照してください。
- パーミッションが間違えている。
これは、パーミッションを参照してください。
- 設定があっているかチェック
画像が表示されない場合、画像が壊れたようなアイコンが表示されていると思います。
壊れた画像がどこのURLを参照しているのか調べます。
具体的には、右クリックし、プロパティを選びます。
次に、表示されるウィンドウにアドレス(URL)という欄があるはずなので、そこを確認し、URLが画像のURLと一致しているかチェックします。
403 Forbidden というエラーメッセージが出ます。†
パーミッションが間違っている、とか、アクセス権がない、とか、Your client does not have permission to get xxx といったメッセージが出るエラーです。
これは、パーミッションの設定ミスでおこるエラーです。
したがって、パーミッションを正しく設定すればオーケーです。
404 File Not Found というエラーメッセージがでます。†
このエラーはいわゆるリンクミスです。
URLが間違っているだけなので、もう一度、確かめてみましょう。
ファイル名を間違えているものから、http:// を htp:// と書いていた等、うっかりミスでおこるものです。
なかには、http://www.xxxxx.ne.jp/~xxxxx/xxxxx.cgi/ と、最後に /(スラッシュ)をつけていたなんてこともあります。
関連ページ†