メニュー | |||||
---|---|---|---|---|---|
トップ | タイトル | ファイル名 | パス | イメージタグ | リンクタグ |
転送方法 | IEとネスケ | CGI | CGI改造 | 終わりの挨拶 | 【書き殴り】 |
一坪 | 「さてさてCGIプログラムについてです。」 |
---|---|
アイカ | 「CGIとはとはとは?」 |
一坪 | 「掲示板やチャットなど書き込んだりできるやつです。」 |
アイカ | 「あ! 分かりましたぁゥ」 |
一坪 | 「カウンタもCGIプログラムですね。」 |
アイカ | 「ほうほうゥ」 |
一坪 | 「ただしJAVAを使ったやつとか例外もあるのでご注意を。」 |
アイカ | 「了解ゥ」 |
一坪 | 「CGIに関してはトラブルシューティングをしようと思います。」 |
---|---|
アイカ | 「というと?」 |
一坪 | 「CGIプログラムを実行するとエラーが出る ってときなどの対処方法です。」 |
アイカ | 「OKゥ」 |
一坪 | 「まずHPを置くサーバがCGIを使えなきゃいけません。」 |
---|---|
アイカ | 「え? 使えないトコもあるんですか〜?」 |
一坪 | 「ジオシティは使えません。あと大手プロバイダのサーバは使えないことが多いです。」 |
アイカ | 「なんでです?」 |
一坪 | 「CGIプログラムを動かすのはサーバに負担がかかるし、 プログラムのミスでサーバがダウンしちゃうこともあるからです。」 |
アイカ | 「危険なんですねー。」 |
一坪 | 「はい。あとカウンタ、掲示板などをサーバ側が用意してる場合もあります。」 |
アイカ | 「それなら簡単に設置できますねゥ」 |
一坪 | 「まずはサーバ(プロバイダ)のHPなどでCGIが使えるか調べましょう。」 |
アイカ | 「はいゥ 他に注意点は?」 |
一坪 | 「CGIを使えるサーバでも、いろいろ注意点があります。」 |
アイカ | 「なかなか大変ですねー。例えばどんなのですか〜?」 |
一坪 | 「よくあるのが cgi-bin ディレクトリでしかCGIが使えないってやつです。」 |
アイカ | 「えっと、ということは cgi-bin ディレクトリはCGI専用ってことなんですか〜?」 |
一坪 | 「専用というよりCGIを実行できるディレクトリですね。 もちろん普通のHTMLファイルも置けます。」 |
アイカ | 「学校でいえば解剖するときは理科室でってコトですねゥ」 |
一坪 | 「(解剖!!??) ま……まあ、そんなとこです。」 |
アイカ | 「よく分かりましたぁゥ( ̄ー ̄)」 |
一坪 | 「(なんか怖い) (><)」 |
一坪 | 「では今度は設置に関するトラブルシューティングです。」 | |
---|---|---|
アイカ | 「どうぞーゥ」 | |
一坪 | 「まずは設置するCGIプログラムの説明をよく読みましょう。」 | |
アイカ | 「それはそうですねゥ」 | |
一坪 | 「場合によってはプログラムを修正する必要があるので。」 | |
アイカ | 「じゃあ、このコーナーでは何をするんですか〜?」 | |
一坪 | 「えっと細かい部分は説明を読んでもらうしかないので、 ここではCGIプログラム設置全般に通用する トラブルシューティングをしようと思います。」 | |
アイカ | 「ようするに基本的な部分でのトラブルシューティングですねゥ」 | |
一坪 | 「そう! だからCGIプログラムを設置したけど | |
| ||
↑こんなエラーが出る場合は、 まず以下の説明のチェックをしてみてください。」 | ||
アイカ | 「それでもダメなら説明をもう一度よく読んで下さいねゥ」 |
CGIプログラムはアスキー転送 |
---|
アイカ | 「むむ? アスキー転送ってなんですか〜?」 |
---|---|
一坪 | 「ファイルをサーバに転送するときに、 アスキー(ASCII)転送とバイナリ(BINARY)転送の2つの転送形式があります。」 |
アイカ | 「????」 |
一坪 | 「例えば『今日はいい天気だね。はは〜ん?』というシャイなメッセージを相手に送るとします。」 |
アイカ | 「……シャイ?」 |
一坪 | 「この内容(ファイル)を相手(サーバ)に伝えるときに、メール(テキスト)で送るのがアスキー転送、 FAX(画像データ)で送るのがバイナリ転送って感じです。」 |
アイカ | 「なんとなくですが分かりましたゥ」 |
一坪 | 「ようするにテキスト形式で送るのがアスキー転送で、 データ形式で送るのがバイナリ転送なのです。」 |
アイカ | 「で、どうやってアスキー転送するんですか〜?」 |
一坪 | 「これはファイルを転送するときに使う(FTP)ソフトで選択できます。」 |
アイカ | 「自分が使ってるソフトをチェックですねゥ」 |
ファイルが全部揃ってるか確認 |
---|
アイカ | 「えーー、これはタイトル通りですねゥ」 | |
---|---|---|
一坪 | 「はい。ただしちょっと注意が必要です。」 | |
アイカ | 「え? どんな?」 | |
一坪 | 「まず自分で用意するデータファイルです。」 | |
アイカ | 「自分で用意しなくちゃいけないんですか〜?」 | |
一坪 | 「はい。説明に『空の「bbs.dat」というファイルを用意してください』 などと書いてあったら自分で作成して用意しないといけません。」 | |
アイカ | 「でも空のファイルってどうやって作るんですか〜?」 | |
一坪 | 「そうですよねー。結構用意するの難しいですよねー。というわけで後回しです。」 | |
アイカ | 「そんなーー!!!」 | |
一坪 | 「まあまあ。で、他に用意する必要があるのは jcode.pl ファイルです。」 | |
アイカ | 「それも自分で用意しなくちゃいけないんですかぁ……。」 | |
一坪 | 「だいたいは、そのファイル(jcode.pl)もセットになってますが、 ときどき自分で用意しなくちゃダメな場合もあります。」 | |
アイカ | 「そうですかぁ……。」 | |
一坪 | 「あとは、ほんとにときどきですが cgi-lib.pl というファイルが必要なときもあります。」 | |
アイカ | 「うーーーーーーーん…………………。」 | |
一坪 | 「そこの困ったアナタに朗報!!!」 | |
アイカ | 「ええっ!!??」 | |
一坪 | 「↓この pl.lzh という圧縮ファイルに3つのファイルを入れときました。」 | |
| ||
アイカ | 「おお!!! これをダウンロードして解凍すればいいんですねゥ」 | |
一坪 | 「そうです。で、jcode.pl、cgi-lib.pl の2つのファイルはそのまま、 null.dat は空のファイルなので名前変更してお使い下さい。」 | |
アイカ | 「パーフェクツゥ」 |
パーミッションは2パターン |
---|
アイカ | 「今度は『パーミッション』ですかぁ……。」 | |||
---|---|---|---|---|
一坪 | 「パーミッションというのはファイルの属性のことです。」 | |||
アイカ | 「属性っていわれても分かんない……。」 | |||
一坪 | 「ここに愛の交換日記があります。」 | |||
アイカ | 「愛の交換日記っ!!???」 | |||
一坪 | 「愛の交換日記は二人だけの物ゥ もちろん二人にしか読むことも書くこともできないのゥ」 | |||
アイカ | 「!!!!!!」 | |||
一坪 | 「だから他の人に見られないように魔法をかけるのゥ」 | |||
アイカ | 「ひーーーーーーーー!!!(><)」 | |||
一坪 | 「この『魔法』がパーミッションです。」 | |||
アイカ | 「きゃっ! 急に元に戻らないで下さい!!!」 | |||
一坪 | 「とにかく、このように 読み書きや実行の規制をかける(許可を与える) のがパーミッションなのです。」 | |||
アイカ | 「例えはともかく、だいたい分かりましたぁゥ」 | |||
一坪 | 「だいたい分かればいいです。詳しく説明しようとしたら大変なので。」 | |||
アイカ | 「手抜き………。」 | |||
一坪 | 「いやいや、これは余計な情報で混乱しないようにとの配慮なのです。」 | |||
アイカ | 「(うそっぽーーーーい) (¬。¬)」 | |||
一坪 | 「では本題です。」 | |||
| ||||
一坪 | 「とりあえず、この2つを覚えれば大丈夫です。」 | |||
アイカ | 「2つだけなら楽ですねゥ」 | |||
一坪 | 「ちなみにデータファイルというのは、読み書きするファイルのことです。」 | |||
アイカ | 「画像データとは違うんですねゥ」 | |||
一坪 | 「あとファイルを新規作成するプログラムの場合は、 そのファイルを作成するディレクトリのパーミッションを777にする必要があります。」 | |||
アイカ | 「この辺は設置するCGIプログラムの説明に書いてありますねゥ」 | |||
一坪 | 「755、666というのも基本的にってコトなので、やはり説明を読んで確認してくださいね。」 | |||
アイカ | 「ところでパーミッションはどうやって変更するんですか〜?」 | |||
一坪 | 「これも、ほとんどのFTPソフトで変更できます。」 | |||
アイカ | 「またまたマニュアルチェックですねゥ」 | |||
一坪 | 「一応、補足として数字入力じゃない場合を載せると | |||
| ||||
となります。あと777は全部チェックです。」 |
" や文字化けには \ を |
---|
アイカ | 「ん? 何ですコレ?」 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
一坪 | 「これはCGIプログラムを改造したらエラーが出るようになったときにチェックしてください。」 | ||||||||||||||||||||||||||
アイカ | 「えーー? プログラムの改造なんてできませんよぉ。」 | ||||||||||||||||||||||||||
一坪 | 「改造といっても大した改造じゃないです。例えば | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
のようにタイトルを画像にしたい場合とかです。」 | |||||||||||||||||||||||||||
アイカ | 「なるほどゥ タグ部分を改造するんですねゥ」 | ||||||||||||||||||||||||||
一坪 | 「そうです。」 | ||||||||||||||||||||||||||
アイカ | 「それぐらいならできそうですゥ」 | ||||||||||||||||||||||||||
一坪 | 「でも上の改造だとエラーが出ます。」 | ||||||||||||||||||||||||||
アイカ | 「あう。(><)」 | ||||||||||||||||||||||||||
一坪 | 「この場合は | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
とタグ部分の " の前に \ をつけて \" にすればOKです。」 | |||||||||||||||||||||||||||
アイカ | 「ふーーーーむ。なんとか、やり方は分かりましたぁゥ」 | ||||||||||||||||||||||||||
一坪 | 「ただし \ をつけるのはタグ部分だけで 最後の "; を \"; にしてはいけません。」 | ||||||||||||||||||||||||||
アイカ | 「でも何で \ をつけるんですか〜?」 | ||||||||||||||||||||||||||
一坪 | 「うーーーーーん、まあ約束事だと思ってください。」 | ||||||||||||||||||||||||||
アイカ | 「(またややこしい説明を省いた……)」 | ||||||||||||||||||||||||||
一坪 | 「ちなみに | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
のように ' で囲ってある場合は \ を付けなくていいです。」 | |||||||||||||||||||||||||||
アイカ | 「どうしてですか〜?」 | ||||||||||||||||||||||||||
一坪 | 「これも約束事です。」 | ||||||||||||||||||||||||||
アイカ | 「(これで何回目だろう?) (ーー)」 | ||||||||||||||||||||||||||
一坪 | 「余談ですが、行(コマンド)の最後({ }以外)に ; をつけ忘れる とエラーになるのでご注意を。」 | ||||||||||||||||||||||||||
アイカ | 「はーーい。」 | ||||||||||||||||||||||||||
一坪 | 「あとメールアドレスで使う @ も \@ にしましょう。」 | ||||||||||||||||||||||||||
アイカ | 「約束事ですねゥ」 | ||||||||||||||||||||||||||
一坪 | 「もちろん。それと日本語が文字化けするときもです。」 | ||||||||||||||||||||||||||
アイカ | 「文字化け?」 | ||||||||||||||||||||||||||
一坪 | 「例えば | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
と日本語を表示させようとすると、実際には | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
のように文字化けしてしまいます。 だから、この場合は文字化けする字の後ろに \ をつけて | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
とすれば大丈夫です。」 | |||||||||||||||||||||||||||
アイカ | 「でも、どの文字が化けるか分からないですぅ。」 | ||||||||||||||||||||||||||
一坪 | 「その場合は | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
と文字化けしてる辺りの日本語全てに \ をつければOKです。」 | |||||||||||||||||||||||||||
アイカ | 「また約束事ですか。┐( ̄フ ̄)┌」 | ||||||||||||||||||||||||||
一坪 | 「むむ? なんか私が手抜きしてるみたいじゃないですか?」 | ||||||||||||||||||||||||||
アイカ | 「思いっきりしてます!! さっきから!!!」 | ||||||||||||||||||||||||||
一坪 | 「心外な! なら説明しましょう。 なぜ文字化けするかというと、半角文字(123abc)が1バイトで文字を表すのに対して、 全角文字(あいう一二三)は2バイトで1つの文字を表してるのです。
そして文字化けする「予定表」という文字のコードは
さて「予」と「表」の文字コードに共通するのは何か分かりますか? そう。2つとも「5C」が文字コードに入ってます。 で、「5C」が半角文字で何になるかというと「\」なのです。 「\」は今まで使ってきたとおり、特別な意味を持つのです。 実際にどうなるかというと
だからそれを補うために文字の後ろに \ を付けるのです。 以上が文字化けする仕組みです。 『ソ、構、十、申、能、暴』なども「5C」を含んでる文字なので気をつけましょう。 ちなみに、この文字化けはJava Scriptでも起きるので、同じように \ を付けて下さい。」 | ||||||||||||||||||||||||||
アイカ | 「………………。(@@;)」 | ||||||||||||||||||||||||||
一坪 | 「どぅ・ゆー・あんだすたーん?」 | ||||||||||||||||||||||||||
アイカ | 「きゅう o(x_x)o」 | ||||||||||||||||||||||||||
一坪 | 「やや? どうやら知恵熱を出して倒れたようですね。はっはっはっはっ………きゅう o(x_x)o」 |