2003/05/01(木) [n年前の日記]
#1 [pc][prog] zeus.cgiの不具合報告
以前ちょこちょこ修正したzeus.cgiについて、Y氏から、「公開回数を満たして公開終了になっても指定時間間隔で公開が再開されてしまう」という不具合報告が。動作確認してみたけど、ウチの自宅サーバでは症状確認できず。海外サーバで動かすとおかしくなるのかも、という話もあり。となるとlocaltime(time)とかそのへんかな。
◎ すっかり忘れてる :
報告を受けるまで、該当スクリプトを自分が修正していた事をすっかり忘れてた。どこに最終版を置いていたか、それすら失念していて、掲示板の過去ログを探し、ようやく置き場所を発見。ただ、当時どのような修正をしたのか全く記憶にない。過去ログを眺めてみてもチンプンカンプン。何を書いてるんだか俺には全然わかんないよもっと判りやすく書いてくれよ>俺、みたいな。うーん。
◎ スクリプトを覗いてみて首を捻る :
クッキーの時間取得は gmtime(time+(1ヶ月後)) でしてるのに、通常の時間取得は $ENV{'TZ'} = "JST-9" の localtime(time) 、time でやってる。なんか統一されていないような気もするけどこれでいいのだろうか。
◎ 標準時間に+9時間をしてみた :
本来 $ENV{'TZ'} = "JST-9" をしていれば日本の時間でtimeを取得できるらしいのだけど、なんかそのへんが怪しいような気もする。 $ENV{'TZ'} = "JST-9"; をコメントアウトして、timeが出てくるところに、+9*60*60 を追加してみた。自宅サーバ上での動作は問題無し。もしY氏に知らせた時間表示確認スクリプトがこちらの予想した動作をしたなら、修正したzeus.cgiも渡して試してもらおうと思う。
この記事へのツッコミ
[ ツッコミを読む(3) | ツッコむ ]
以上です。
"JST-9" は parl 5.0 以降対応された比較的新しい命令なので、
不具合が出てる海外鯖はバージョンが古いのかもしれない。
FAQ ずらーと眺めてみたが、 parl のバージョンまでは書かれてない、ただ、 FTP ツールの所で
>・CuteFTP 2.6
>・WS_FTP
>・Netscape 4
とあるから、かなり古いシステムかもしれない。
http://www.spaceports.com/faq/
それは気づきませんでした。うっかりしてた。
Y氏に渡した確認スクリプトに、
Perlのバージョン表示も入れておけば良かったです。ちと失敗。
でも、幸い、該当サーバのPerlのバージョンはそれほど古くなさそうですね。
と言うのも、Y氏に渡した確認スクリプト中に、
自分、うっかり my を入れちゃってたんですが、
それでもちゃんと動いてるっぽいんで…
http://www.graco.c.u-tokyo.ac.jp/~nishi/programming/perl/my.html
↑によると「Perl5 から my が導入された」とあるので、
Perlのバージョンが古ければ、
件のスクリプトはそもそも動作しないのではないか、と思えました。
それと、件のスクリプトの表示結果からすると、
該当サーバ上でのJST-9指定はちゃんと有効になってるみたいです。
しかしそうなると、自分の予想は見事外れてしまったわけで。
うーむ、一体どこにバグが潜んでいるのやら…
とにかくソースを眺めてみないとだなぁ…