#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