count


#author("2017-06-04T21:45:05+09:00","","")
#author("2020-12-22T19:43:54+09:00","","")
[[CGIのいろは(CGI設置講座)&CGIのFAQ]]

#contents
#norelated
#br

* 設置ミスの問題 [#jc286759]

CGIを設置しても、動作しない場合の対処法です。~
~
一般的な設置ミスはこのどれかです。

- [[解凍したらログファイルがない。>#g2043f82]]
- [[スクリプトがそのまま表示されてしまいます。>#n7bd1a40]]
- [[ダウンロードを開始してしまいます。>#ud92b186]]
- [[文字化けしてしまいます。>#d2e5557b]]
- [[投稿時間がずれてしまいます。>#ba5ea0f1]]
- [[画像が表示されません。>#u8ccfd21]]
- [[403 Forbidden というエラーメッセージが出ます。>#yccc3b92]]
- [[404 File Not Found というエラーメッセージがでます。>#d56a1af6]]

** 解凍したらログファイルがない。 [#g2043f82]

Machintosh の一部の解凍ソフトで、何もない空っぽのファイルを、勝手に削除する場合があるようです。~
この場合、足りないファイルは自分で作成するか,他の解凍ソフトを試してください。~
自分で作成する場合は、空っぽのファイルをテキストエディタなどで作成してください。

** スクリプトがそのまま表示されてしまいます。 [#n7bd1a40]

次の【[[ダウンロードを開始してしまいます。>#ud92b186]]】をご覧ください。

** ダウンロードを開始してしまいます。 [#ud92b186]

ウェブサーバ(事業者が設置しているPC)がCGIのファイルだと認識していないときにおきます。~
主な原因は3つあります。

- ''Perlのパスが間違っている''~
~
ほとんどの場合は、Perlのパスが間違っています。~
CGI-StaTionでは、一般的なウェブサーバを想定し、
 #!/usr/local/bin/perl
としていますが、あなたのウェブサーバでは違う可能性が高いです。~
ウェブサーバに問い合わせることが無難です。

RIGHT:[[CGIのいろは(Perlのパス)>Perlのパスってなんやねん]]

- ''WinNT系サーバでPerlIS''~
- ''Win系サーバでPerlIS''~
~
サーバ(プロバイダのPC)がWindowsNT系でPerlISを利用している場合、同様の現象が起きます。~
サーバ(ホスティング会社のコンピュータ)がWindows系でPerlISを利用している場合、同様の現象が起きます。~
これは、自動認識で対応するように、スクリプト側で対処していく予定です。
- ''.htaccess''~
~
まれですが、.htaccess というファイルが必要な場合があります。~
これはウェブサーバによって違うため、ウェブサーバに問い合わせて下さい。~
また、用意されている(用意しなければいけない)場合は、
 AddType application/x-httpd-cgi .cgi
という一行を追加してください。

** 文字化けしてしまいます。 [#d2e5557b]

CGI-StaTion のスクリプトは一部を除いて、自動認識で文字化けを防ぎます。~
通常は文字化けは考えられませんので、改造ミスが原因であることがほとんどです。~
以下の2点を調べてください。

- 文字コード関連の処理を改造した~
~
はっきり言って,しないでください。~
故意に文字化け起こしているのと同じです。~
過去に良くあった例で、
 # ※注意 ここを書き換えると文字化けするかもしれません
 $check_code ||= ord(substr("じゃわ",0,1));
ここを書き換えてしまう人がいました(涙~
注意書きを無視しないでください。~
かなり難しいけど、ちゃんと理解して書き換えるなら、オーケーなんです(涙~
~
文字コード処理は''非常に高度な知識''が必要です。~
改造は避けてください。
- サポート外の文字コードで保存した。~
~
通常なら大丈夫ですが、保存するときに文字コードを、わざわざ変更して保存してしまう方がいました(汗;~
CGI-StaTionの配布するCGIは全て、Windows準拠の文字コード(シフトJIS,Shift_JIS,SJIS のいずれかで表記されるもの)で、改行コードは(CR+LF,¥r¥n のいずれかで表記されるもの)で保存してください。~
なお、エディタさえ間違えていなければ、適切に設定されて保存されます。

RIGHT:[[CGIのいろは(エディタ)>エディタで開く]]

保証はしませんが、CGI-StaTion では、一部のスクリプトを除き、UNIXで一般的に使われている文字コード EUC、および,メールなどで有名な JIS にも対応しています。

** 投稿時間がずれてしまいます。 [#ba5ea0f1]

CGI-StaTionで配布するCGIは、海外サーバに設置しても日本時間になるようになっています。~
~
時間がずれるのは2点、考えられます。

- ''純粋に日本時間からずれている''~
~
普通にずれている場合があります。~
ウェブサーバ側がずれているのか、スクリプトの設定を無視されているかのどちらかです。~
~
これは、設定で秒単位でずれを指定できるように、スクリプト側で対処していく予定です。
- ''日本時間じゃなくて海外時間にしたい''~
~
もし、海外時間にする場合の参考です。~
設定項目で以下のような内容があるはずです。~
~
タイムゾーン:JST-9~
~
ここで、アルファベット3文字が地域などを示しています。

-- GMT → 世界標準時間</li>
-- JST → 日本標準時間</li>
-- PST → 太平洋標準時間</li>
-- MST → 山地標準時間</li>
-- CST → 中部標準時間</li>
-- EST → 東部標準時間</li>

そして、-9 が世界標準時間(GMT)からのずれを示しています。~
で、具体的にどうするかというと……~
~
世界中の時刻なんて、示せません(涙~
~
あくまで参考までです。

** 画像が表示されません。 [#u8ccfd21]

画像ファイルがちゃんとあるのか確認します。

- 画像があるかチェック~
~
ブラウザに画像のURLを直接書いて、ブラウザに画像が表示できるか確認しましょう。~
無い場合は、以下をチェック~
-- URLが間違っている。
-- FTPでアップロードを忘れている
これは、説明不要だと思います。~
URLを確かめる、もしくは、画像をアップロードしてください。
- ウェブサーバ事業者側で制限されている~
~
ウェブサーバ事業者側(NiftyやTripodなど)によっては、画像をCGIと同じディレクトリ(フォルダ)以下に置くと画像を表示できません。~
ウェブサーバ事業者側のHPに説明があると思いますが、一般的には以下のどちらかの方法で回避します。
-- 画像ファイルを置くディレクトリ(フォルダ)を変更する~
~
CGI以外の画像などのファイルを別ディレクトリ(フォルダ)に変更し、CGIの変更を設定しなおします。
--- 1.画像ファイルの強制表示機能を使う~
~
対応しているCGIなら、画像の強制表示機能が利用できます。~
この場合は、CGIファイルを別フォルダに移動したりする必要はありません。
--- 2.FTPでアップロードするとき、テキストモードにしてしまった。~
~
バイナリモードでアップロードしてください。~
詳しくは、FTPを参照してください。

RIGHT:[[CGIのいろは(FTP)>FTPでアップロード]]

-- パーミッションが間違えている。~
~
これは、パーミッションを参照してください。

RIGHT:[[CGIのいろは(パーミッション)>パーミッション(属性)!?]]

- 設定があっているかチェック~
~
画像が表示されない場合、画像が壊れたようなアイコンが表示されていると思います。~
壊れた画像がどこのURLを参照しているのか調べます。~
具体的には、右クリックし、プロパティを選びます。~
~
&ref(http://webdoramamuseum.s1003.xrea.com/common/img/webdoramamuseum/brokenimage.gif,left,around,nolink,250x317,右クリックメニュー);~
次に、表示されるウィンドウにアドレス(URL)という欄があるはずなので、そこを確認し、URLが画像のURLと一致しているかチェックします。~
~
&ref(http://webdoramamuseum.s1003.xrea.com/common/img/webdoramamuseum/propertyimage.gif,left,around,nolink,406x443,プロパティ);

** 403 Forbidden というエラーメッセージが出ます。 [#yccc3b92]

パーミッションが間違っている、とか、アクセス権がない、とか、Your client does not have permission to get xxx といったメッセージが出るエラーです。~
~
これは、パーミッションの設定ミスでおこるエラーです。~
したがって、パーミッションを正しく設定すればオーケーです。

RIGHT:[[CGIのいろは(パーミッション)>パーミッション(属性)!?]]

** 404 File Not Found というエラーメッセージがでます。 [#d56a1af6]

このエラーはいわゆるリンクミスです。~
URLが間違っているだけなので、もう一度、確かめてみましょう。~
ファイル名を間違えているものから、http:// を htp:// と書いていた等、うっかりミスでおこるものです。~
~
なかには、http://www.xxxxx.ne.jp/~xxxxx/xxxxx.cgi/ と、最後に /(スラッシュ)をつけていたなんてこともあります。

* 関連ページ [#b1e4ac0b]

#related

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
警告:くれぐれもまとめサイトに転載・記載するのだけはおやめください。