申し訳ありません、管理の都合上サポートページのアドレスは http://snap.shot.cx/docs/CGI/ に変わりました。旧アドレスは既に消失しています。
このページでは、翔泳社刊の弊著「らくらくCGIキット」(ISBN4-88135-573-2)のサポート情報を提供していきます。
ダウンロード バグ情報 サポート情報 お問い合わせについて 追加情報
ダウンロード |
[2002/8/17]
気がつけば本書出版より4年が経過してしまいました。内容的にかなり古くなってきたこともありますので、本書所収のスクリプト類をダウンロードできるようにします。
どうぞ以下を参照してください。
内容は、本書第2刷に収録されているものと全く同一です。下記↓バグ情報のうち、「第2刷で修正されています」という記述の無いものは適用されていませんので、別途下記を参照してください。また、配付物は全くの無保証です。あらかじめご了承ください。
質問については受け付けますが、「本書○○ページに書かれています」というかたちでお答えすることがあります。本書が手元に無い方のご質問は、出来るだけお控えください。
守れない方へはお返事を差し上げないこともあります。あらかじめご了承ください。
バグ情報 |
[00/03/21]
スケジューラcalで、月別タイトルを表示させるとき(本書7-4-3「カレンダーのオプションを追加」)、年ごとのファイルの説明に誤りがありました。
申し訳ありませんが、次のように読み替えてください。
誤) 「subject1997.txt」のように年ごとにファイルを用意します。
正) 「1997subject.txt」のように年ごとにファイルを用意します。
また、さきの2000年対応(「サポート情報」参照)に対応漏れがあり、2000年以降正しく表示されませんでした。これに対応するには、ファイルcal.plの入れ替えが必要となります。以下のリンクからダウンロードして、古いファイルと置き換えてください。
また、2000年以降の年月表記は、(1999年は"99", 2000年は"00"というように)2桁表記になりますのでよろしくお願いいたします。
[99/11/21] 「ウェブメール」で、「メールサーバに接続できません。」と表示されることがあります。これは(もちろん)設定ミスの可能性もありますが、本書所収のプログラムでは、一部のメールサーバ(SMTPサーバ)に接続できないことが分かりました。具体的には、SMTPプロトコルの改行コードを厳密に解釈するサーバ(例:qmailなど)には接続できません。
これに該当するかどうかを調べるには、「ウェブメール」をデバッグオプションつきで動作させてください。custom.phで、
30: $debug = 0; # デバッグを有効にするには'1'を指定
というところを $debug = 1 とします。こうすると、SMTPサーバとのやりとりが表示されるようになります。
Server Msg: 451 See http://pobox.com/~djb/docs/smtplf.html.
などと表示された場合、この問題に該当しますので、以下のリンクからダウンロードして、古いファイルと置き換えてください。
[99/11/21]
「スケジューラ」と「バナーエクスチェンジ」で、一度ログインした後、ログアウトしなかった場合、しばらくして再度ログインするときに、ログイン画面が2回表示表示されてしまうという不具合がありました。
調べたところ、ログイン時に有効期限切れのセッションが残っていた場合、古いセッションをブラウザに渡した後で削除していることが分かりました。
この不具合を修正するため、CgiUser.pmに変更を加えました。変更箇所が多いため、新しいCgiUser.pm全体を配布することにしました。以下のリンクからダウンロードして、古いファイルと置き換えてください。
[99/10/20] この不具合は初版第2刷(1999年7月20日発行)以降の版では修正されています。
[98/11/5]
Internet Explorer 3.02を使っていると、スケジューラで「日付をクリックしても月間スケジュールのページが繰り返し表示されてしまう」という不具合がありました。
調べてみると、URL生成で不正なタブコードが混入していることが分かりました。
cal.plで、
のようになっているところを、225: print '<A HREF = "'.$query->script_name.qq* 226: ?day_num=$day_num&mon_num=$mon&year_num=$year&account=$account&godaily=1"><B>$day_num</B></A>\n*;
225: print '<A HREF = "'.$query->script_name. 226: qq*?day_num=$day_num&mon_num=$mon&year_num=$year&account=$account&godaily=1"><B>$day_num</B></A>\n*;
とするなどとして、URLにタブコードが含まれないようにしてください。赤字の部分が修正箇所となります。
なお、この問題はNetscape Navigator(バージョン2.0〜4.5)では発生しません。
[99/10/20] この不具合は初版第2刷(1999年7月20日発行)以降の版では修正されています。
[98/9/25] 添付CD-ROMに収録されたスクリプトの改行がCRになっているとのご指摘をいただきました。調べてみたところ、次のような状況になっていることが分かりました。
圧縮されているファイル(拡張子.lzhおよび.tgz)の中身については問題がないようです。
但し、.tgzの圧縮ファイルを解凍する場合、解凍ツールによっては(WinZipなど)改行コードがCR+LFに変更されてしまう可能性があります。ご注意ください。
お手数をおかけし申し訳ありません。
[98/11/10] 前記の補足になりますが、各ディレクトリに納められたインストーラezinst.plも改行コードがezinst.plになっています。インストーラを使用する場合、ezinst.plをバイナリモードで転送した後、サーバ上で次のコマンドを入力してください。
$はサーバのプロンプトです(サーバによって異なります)。最初のmvコマンドで、ezinst.plを別の名前に変更しています。次のperlのコマンドは、改行コードをCRからLF(WindowsマシンではCR+LF)に変換します。$ mv ezinst.pl _ezinst.pl $ perl -e 'while(<>){ s/\r/\n/g; print; }' < _ezinst.pl > ezinst.pl
たびたびお手数をおかけし申し訳ありません。
[99/10/20] この不具合は初版第2刷(1999年7月20日発行)以降の版では修正されています。
[98/9/16] 本書所収のPerl5モジュール CgiLock.pm に不具合がありました。Perlのバージョンが5.003の場合、
という行でコンパイルエラーを起こしてしまい、ブラウザ上で "500 Server Error" を起こしてしまうようです。211: no strict 'refs';
このようなの問題に該当する方は、当該行を
のように、先頭に # マークをつけてコメントアウトしてください。211: # no strict 'refs';
なお、上記に該当するかどうかは、次の方法で調べることができます。
Perlのバージョンが5.004_01以上の場合は問題がありませんので変更は不要です。[98/9/20] ひきつづき調査しましたが、Perl5.003_07 (Patch Level 7) では所収のソースで動作しました。ただ、Patch Levelが低い場合や、Perlの標準モジュールのインストール状態(strict.pmがインストールされていない場合等)によっては、上記の現象がおこる可能性があります。
サポート情報 |
[00/01/06]
「改正祝日法」(通称:ハッピーマンデー法)により、2000年より「成人の日」と「体育の日」が、それぞれ「1月の第2月曜日」「10月の第2月曜日」に変更になりました。しかし、本書所収のスケジューラでは、この新しい祝日を表示することができませんでした。
そこでスケジューラに改良を加え、祝日ファイル(holiday.txt)のフォーマットを拡張しました。
プログラムで変更されたのは、cal.plです。また、拡張された祝日ファイルholiday.txtも必要になります。
以下のリンクからダウンロードして、既存のcal.pl, holiday.txtと入れ替えてください。
ただ、この置き換えによって別の問題が発生します。1999年以前の祝日も新しいルールに従って表示されてしまうのです。
これに対応するには、1999年以前のためのholiday.txtを別に用意する必要があります。たとえば、holiday1999.txtというファイルを用意しておけば、1999年の祝日にはholiday.txtではなくholiday1999.txtが利用されるようになります。
以下のリンクにあるholiday1999.txtは、CD-ROM収録のholiday.txtと同じものですが、参考までにアップロードしておきました。必要な方はご利用ください。
[99/10/20] もしPerl 5.003以降がインストールされていない場合は、サーバの管理者の方に相談してみてください。
サーバのインストール状況によっては、perl5というコマンド名でインストールされている場合もあります。
この場合、
$ which perl5
などとして、
/usr/bin/perl5
と出てきたら、CGIスクリプトの先頭を
#!/usr/bin/perl5
とすることで実行できるようになります。
インストーラを使いたい場合は、
$ perl ezinst.pl -p /usr/bin/perl5
などとしてみてください。詳しくは本書Chapter3を参照してください。
Perlのバージョンが5.003以前の場合、本書に掲載されている、すべてのCGIスクリプトは動きません。(実際には、Perl5.001以上であれば動作すると思われますが、確認がとれませんのでサポート対象外です)
次のような方法で、サーバで使用しているPerlのバージョンを確認することができます。
$ perl -v ($はプロンプト)
こうすることで、Perlのバージョンが表示されるはずです。
/usr/local/etc/httpd/log/error_logApacheの新しいバージョン(1.3.*)では、
/usr/local/apache/log/error_log
になっています。ここに記録されている内容を確認することで、エラーの原因が追求できる場合があります。参考にしてください。
お問い合わせについて |
書籍の購入方法/本書の内容(誤植・落丁など)のお問い合わせについては、お手数ですが翔泳社さんのほうへ直接お問い合わせください。
電子メール:
mail-web@shoeisha.co.jp
電話・FAX:
出版局営業部 TEL 03-5362-3810 / FAX 03-5362-3817
出版局編集部 TEL 03-5362-3833 / FAX 03-5362-3818
翔泳社連絡先一覧
購入に関しては、オンラインショップSEshop.comを通じて購入することもできます。
本書の技術的なお問い合わせ(○○が動かない等)については、著者がお答えします。受付は電子メールのみになりますのでご了承ください。
電子メールのアドレスは、
cgikit@readmej.com
で受け付けることになりましたので、よろしくお願いします。
また、ご質問をお寄せくださる際は、以下の内容を明記していただくようお願いします。
明記されていない場合、せっかくお問い合わせいただいてもお役にたてないことがあります。ぜひとも明記してください。
追加情報 |
[2002/4/17]
cal2の配付物の中に、jcode.pl
が含まれていないという御指摘をいただきました。申し訳ありません
他の配付物にも含まれているjcode.pl
からコピーしてお使いください。よろしくお願いします。
[2001/4/19] まさに「中旬」ギリギリとなってしまいました。スケジューラ「cal」の新バージョンをリリースします。
ここでまず最初にお断りしておきます。今回のリリースは、データには上位互換性がありますが、設定ファイル(custom.ph/design.txt)には互換性がありません。新しいディレクトリにインストールし、データのみをコピーしてお使いになることを強くお薦めします。
インストール方法は、本書所収のezinst.plを使うことができます。本書所収の他のスクリプトと同様に、次のようにコマンド入力してください。
$ ./ezinst.pl cal2.tgz
telnetがお使いになれない場合は、解凍ツールを利用して解凍する必要があります。ファイルはtar+gz形式で圧縮されていますので、対応している解凍ツールを利用してください。
リリースにおいては十分なテストをしているつもりですが(私=たかの自身、実務で利用しています)、使用する環境等によって「万が一」がないとは言い切れません。データはこまめにバックアップを取るように心がけてください。
「万が一」データが消失した場合でも、一切の保証は致しかねますので御了承ください。
質問・ご要望は、通常どおりメールにて受け付けます。可能な範囲でお答えしますので、どうぞお気軽にご連絡ください。よろしくお願いします。
[2001/3/25]
発売より既に3年近く経過しているのに、今でも買っていただいている方が多数いらっしゃるようで、感謝の至りです。
そこで、本書所収のCGIキットの中でも最も人気の高かった、スケジューラ「cal」の新バージョンのリリースを予定しています。要望の高かった