こんなん出ました〜

エラーメッセージ見本市

前へ 次へ トップに戻る

慣れないCGIに挑戦していると、普段ネットサーフィンなどしている時と比べて、やたらとエラーメッセージに遭遇します。例えば・・・、

error
Not Found
ページがみつかりません
error
Forbidden
閲覧できません
error
Server Error
サーバエラー
error
実行エラー
CGIの実行時にエラーが発生しました。
これらのエラーは、一見、同じようでいて、それぞれにきちんと理由があります。

「なんでぇ、エラーかよぉ」と、簡単に投げ出したり、サポートに駆け込む前に、そのエラーの意味を汲み取れば、その原因に辿りつくことができるでしょう。
(エラーくん(仮称)クリックでそれぞれに飛びます)

404 Not Found

error
Not Found
ページがみつかりません

URLが間違っていないか再度ご確認ください。URLは大文字・小文字を区別します。

URLが正しく、ブラウザで再読み込み(Reload)や再起動しても表示されない場合は、
開設者がホームページを閉じた可能性があります。

また、混雑のために表示できない場合もありますので、
しばらくしてから再度アクセスしてください。

pagerror.gif ページが見つかりません

検索中のページは、削除されたか、名前が変更されたか、
または現在、利用できない可能性があります。


HTTP 404 - ファイル未検出
Internet Explorer

@homepageでの表示例 他サイトにて、IEでの表示例

≪概要≫

上図右側のIEでの表示例は、今までも見たことがあるんじゃないでしょうか。これの@homepage版と思えばいいでしょう。

例えば・・・、
http://homepage1.nifty.com/typhoon/ないっての.html とか、
http://hpcgi1.nifty.com/typhoon/ないんだってば.cgi など、
HTMLかCGIかに関係無く、アクセス権に拘らず、@homepage内に存在しないファイルを呼び出したときに、「ウチにゃあそんな名前のヤツは居ないよん」と、言ってるメッセージなわけです。

てことで、CGI設置の際にこのメッセージに出会うケースとしては、

≪原因≫

などなど、いずれもイージーなケアレスミスに過ぎないわけですが、他に覚えることや変更箇所が沢山あるだけに、意外と「灯台元暮らし」的に見落としがちなものです。

なお、メッセージには「混雑のため〜〜」ともありますが、テレホタイムのピークでもない限り、リロードしてみてなんとかなる可能性は低いようです。

403 Forbidden

error
Forbidden
閲覧できません

このページはホームページ開設者が閲覧することを許可していないため、
ご覧になることができません。

pagerror.gif このページの表示が認められていません

このディレクトリを表示する権限がないか、または提供された
アカウント情報を使用してページを表示する権限がない可能性があります。


HTTP エラー 403 - アクセス不可
Internet Explorer

@homepageでの表示例 他サイトにて、IEでの表示例

≪概要≫

さて、これこそCGIの設置に深く関わってくる部分で・・・、

今まで滅多に見たことなかったのに、CGIに手を出したその日から、嫌と言うほど何度もお目にかかるのがこのメッセージでしょう。

エラーはエラーですが、少なくとも、「そこにそのファイルが存在する」ことの証明でもあり、前項目よりは一歩前進「けど見せてあげにゃーい」という状況のようです。

出現パターンとしては、メインであるパーミッションの問題の他に、@homepage仕様として、
http://hpcgi1.nifty.com/typhoon/index.html や、
http://hpcgi1.nifty.com/typhoon/error.gif などと、
/cgi-bin/配下に置いたHTMLGIFファイルをブラウザから読みにいった場合や、
http://hpcgi1.nifty.com/typhoon/ などと、
/cgi-bin/配下のディレクトリリストを取りに行った時などに出るようです。
(この場合のみ、index.cgiの有無は関係なし)

≪原因≫

まずは、CGI添付の設置例通りにやると必ず引っ掛かる、@homepage特有の仕様に関わる点で、

それ以外でこのエラーが出たら、それはよくあるパーミッション(属性)の問題でしょう。

これしかありません。
特にMacのFTPソフトFetchなどの場合は、パーミッションが数値指定ではなかったりで勘違いが多いようですが、FTPソフトのHPなどで、「属性の変更」のやり方に十分に習熟しておく必要があります。
当サイトでは、FTPソフトの使い方の解説・サポートはしません。

403? サーバーエラー

error
Server Error
サーバエラー

このメッセージが表示された場合は、混雑のため負荷が高くなっていることがあります。
また、ホームページを開設していないか一時的にクローズしている場合があります。

@homepageでの表示例

≪概要≫

このメッセージにはあまりお目にかからないかも知れませんが、他のサイトで言うとやはり「403 Forbidden」に該当するような内容で、前項の兄弟分と言えるでしょう。

このエラーメッセージのタイトル及び説明書きは、原因究明には役立ちそうにないですね

出現例としては、

http://homepage1.nifty.com/dream.cgi のように、
/homepage/の方にCGIを置いて実行しようとした時や、

http://homepage1.nifty.com/images/ のように、
/homepage/ディレクトリの方で"index.html"を置いてないディレクトリで、ディレクトリリストを取りに行ったときなどに出るようです。

これらのケースに限り、ファイルの存在の有無に関係なく、問答無用でこのエラーメッセージを出すようです。

≪原因≫

まあ、そんなわけです。(あ、飽きたなこいつ(笑))

【ディレクトリリスト】とは、時折他のサイトで見掛けるもので、"index.html"などを省略してディレクトリ名でアクセスすると、デフォルトファイルである"index.html"を置いてないディレクトリで、その中のファイル一覧が「Index of ...」などと、エクスプローラーのように表示されてしまうものです。
ホームページ作成の入門書などでは、それを避ける為に「各ディレクトリにはダミーの"index.html"ファイルを置いておこう」などと書いてありますが、どうやら@homepageでは、その心配はないようです。
ちなみに、hpcgi?サーバーの方のデフォルトファイルは"index.cgi"だそうです。

500 内部サーバーエラー

error
実行エラー

CGIの実行時にエラーが発生しました。

pagerror.gif ページが表示されません

検索中のページには、問題があるため、表示できません。


HTTP 500 - 内部サーバー エラー
Internet Explorer

@homepageでの表示例 他サイトにて、IEでの表示例

≪概要≫

このケースは、CGIファイルが途中で実行不可能となったなどで異常終了し、ブラウザが読める形での結果を返せなかった時に出るようです。
CGIの改造や、自作に挑戦するようになると、やけにお世話になる機会が増えるようです。
そう、これが、CGI作者のサポートルームではイヤというほど交わされる、

ISE (Internal Server Error)です。

@nifty開始当初は、@homepage専用のメッセージが用意されておらず、上記右側のようにブラウザが出すエラー表示だったのですが、いつの間にか、専用のメッセージが用意されたようです。

≪原因≫

あとはほとんどが単純なCGIスクリプトの書き換えミス、例えば、

# スペシャル機能を(使う=1、使わない=0)
$special_func = 1;

などというカスタマイズ項目設定の欄で、

# スペシャル機能を(使う=1、使わない=0)
$special_func = ;

と、数値指定部分を空白にしてしまったり、

# スペシャル機能を(使う=1、使わない=0)
$special_func = 1

と、文末の ";"(セミコロン)をうっかり削除してしまった場合など、単純にPerlの文法エラーで異常終了し、上記のエラーが出るようです。

もちろん、文法エラーですから、原因はこれだけではなく、様々なケースがあります。
とりあえず、「書き換えミスの潰し方」というページも書いてみましたが、根本的には、「Perl 超・基礎講座」などから少しずつ、Perlの作法に慣れて行くのがいいでしょう。

CGIスクリプトからのエラー

ERROR: <<Can't Open Logfile!>>
ERROR: <<Can't Write Logfile!>>
ERROR: <<Can't Open Tempfile!>>

≪概要≫

などなど、スクリプトによって、原因によって、様々なパターンがあるわけですが、これらはあくまで、「CGIスクリプトが用意したメッセージ」なわけで、これらのメッセージが出たということは、「CGIスクリプトとしては正常に起動/終了した」とも言えるワケです。ここまで来れば後一歩、ゴールは近いでしょう。

≪原因≫

CGIスクリプトの場所/パーミッションまでOKとなれば、あとは、
ログファイル、テンポラリファイル、過去ログファイル、カウントファイルなどの、

などなど、エラーとされたファイルについてトレースしていくことです。
特に注意すべきは、ログや画像やHTMLなどの各ファイルが、

  1. CGIが吐き出したHTMLファイルの中でブラウザが見に行くもの
    →多くの場合/homepage/側に置いて、http://からのURLフルパス指定
  2. CGIがその内部でだけ読み書きしているもの
    →多くの場合CGIと同じ場所に置いて相対パス指定

という風に、CGIの動作を理解して配置、設定していく必要があります。

その他

アクセスカウンタなどで、CGIが<IMG SRC= 〜 ***.cgi>などと画像ファイルとしてページに埋め込んである時には、何かエラーがあっても、ブラウザ上では上記のようなエラーメッセージが確認できません。
その場合には、カウンタ部分のURLを直接呼び出すことで、どんな状況かが確認ができるでしょう。
また、チェックモードを搭載しているCGIもありますので、設置マニュアルはくまなく読みましょう。

また、「エラーメッセージは特に出ないけど、フレームだけで中身がない」などは、そのままブラウザから「ソースの表示」で、フレームを構成しているそれぞれのページを直接呼び出してみると、HTMLレベルの間違いに気付くケースが多いようです。

また、いろいろと試行錯誤するうちにいじくり過ぎて、「自分でもどこをいじったのかわからなく」なったり混乱して来た場合には、初心に戻って、ダウンロードしたままの状態から、最低限の変更を一歩ずつ進めて行った方が、ゴールが近いケースも多いようです。


さて、いかがだったでしょうか。これで「よくあるエラー」に関しては、ほとんどが自力で潰せるはずです。

「初心者なんで、なんかよくわかんないけどエラーが出ます」

なあんて漠然とした質問では、たとえCGI作者でも答えようがありません。
まずは、自力更生、自助努力を目指すことが、CGI習得の近道と言えるでしょう。



前へ 次へ トップに戻る

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!