[リストへもどる]
一括表示
タイトルCGIの時間取得について
記事No236
投稿日: 2006/10/05(Thu) 18:38
投稿者ring
初めまして。
数日前に2shin.netでスペースをお借りしまして、CGIを用いて簡易的な掲示板とblog風の日記ページを作成しました。
しかし、投稿日時が実際に投稿された時間よりも約9時間遅れた表示になってしまいます。(簡易掲示板、日記ページ両方です)

これは、私が設定を何か弄る必要があるのでしょうか?

掲示板CGIの時間取得の記述は以下のようになっているようです。

my @timer = localtime(time);
my $wday = $timer[6]; my $year = $timer[5] += 1900;
my $month = $timer[4] += 1; my $day = $timer[3];
my $time_foot = sprintf("%02d:%02d:%02d", $timer[2], $timer[1], $timer[0]);
my $wday = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat') [$wday];
my $time = "$year/$month/$day($wday) $time_foot";

CGIを使うのはこれが初めてでよくは理解できてないのですが…

解決方法があれば教えてください。
よろしくお願いします。

タイトルRe: CGIの時間取得について
記事No237
投稿日: 2006/10/06(Fri) 00:51
投稿者info
下記を参考してください。
http://2shin.net/Support/cgi-bin/wforum3/wforum.cgi?mode=allread&no=10

タイトルRe: CGIの時間取得について
記事No238
投稿日: 2006/10/06(Fri) 20:46
投稿者kuzira
CGIの中をむやみに弄る前に
DLされた先のURLとCGIスクリプト名を教えて頂けると
有りがたいのですが

もう解決済みでしたらそのままでOKです

タイトルRe^2: CGIの時間取得について
記事No239
投稿日: 2006/10/06(Fri) 21:13
投稿者ring
返信遅れてすみません。

>info様
解答ありがとうございます。
過去ログ大変参考なりました。
おかげ様で解決の仕方の方向性はだいたい見当つきました。
少なくとも9時間ずれている時点でGMTを表示していると気づくべきでした。
前に質問された方同様に、自分でもう少し調べるべきだったと思います。
お手数おかけしてます。

>kuzira様
ご親切にありがとうございます。
先ほど帰宅しまして、今から調べて弄ってみようと思っているところです。
CGIスクリプトは
Compact Messenger v.1.02:http://crowel.ddo.jp/hakidame/index_class.shtml
Web Diary Professional :http://www.web-liberty.net/
です。

タイトルRe: CGIの時間取得について
記事No240
投稿日: 2006/10/07(Sat) 00:36
投稿者ring
どうもお世話になってます。
事後報告をしておきます。

Compact Messenger v.1.02
のほうは過去ログを参考にして
$ENV{'TZ'} = 'JST-9';
をファイルに追加することで解決することができました。

Web Diary Professional
は、上記のサイトのサポートを見ると同様に
$ENV{'TZ'} = 'JST-9';
を追加するようになっていました。とりあえず、拡張子がCGIのファイルに追加してみましたが、思いどおりの結果を得ることができませんでした。

アドバイスをいただければありがたいのですが、やはりCGIの設定方法までこの板で聞くのは板違いでしょうか…
明日また調べてみようと思います。

タイトルRe^2: CGIの時間取得について
記事No241
投稿日: 2006/10/07(Sat) 13:18
投稿者kuzira
海外にサーバーがある場合など、投稿日時がずれて表示されることがあります。

時差を修正するには、CGIの設定項目内に以下の設定を追加することで対処ができます。

$ENV{'TZ'} = 'JST-9';この場合、-9 の部分で9時間ずらしています。状況によって +5 や -10 など、適宜変更してください。

と有りますが追記はCGI本体にのみ行って下さいね

それと板違いの件ですがCGIプログラムは製作者により様々ですので
全てのCGIファイルの中身をサポートするのは不可能なんです
それで製作者様に問い合わせる製作者サイトのサポートを利用する
等の方法のほうが圧倒的に解決が早いのも事実です

基本的に設置サポートなんでCGI本体プログラムの中身となると
手に負えないのが実情です

ですから製作者サイトに質問されるように持って行くぐらいの
サポートしか出来ないんですよ(ーー;)

それでもそのような質問は投稿するなって事では有りません
むしろドンドン投稿頂いた方が同じ悩みを持つ方には
大変参考になると思っております。

分かる範囲では出来るだけサポートしたいと思いますが
あまり期待されないで下さいね・・・
なにせ素人ですので(;^_^A アセアセ・・・

タイトルRe^3: CGIの時間取得について
記事No242
投稿日: 2006/10/07(Sat) 20:50
投稿者info
ringさん、diary.cgiを開いて下記のところに記入すればOKです。

use strict;
use lib qw(./lib);
use webliberty::App;
$ENV{'TZ'} = 'JST-9';<--------------ココ
my $app_ins = new webliberty::App;
$app_ins->run;

http://2shin.net/akai/cgi-bin/diary/diary.cgi

追記
尚、ここの鯖では上記のdiary.cgiでは初期のパスワード設定時Chmod Errorが出ます。
必ず、lib/webliberty/App/Init.pm にある chmod_mode => 1, の部分を 1 から 0 に変更(作者サイトより)して下さい。
変更した場合の他の設定は作者サイトに色々記述していますが、一切無視して結構です。

それから、セキュリティ上の都合により、CGIは幾つか制限しているため使用できないモジュール等が有りますのでご了承下さい。

タイトルRe^4: CGIの時間取得について
記事No243
投稿日: 2006/10/09(Mon) 14:42
投稿者ring
>info様、kuzira様
返信遅れて申し訳ありません。
ご回答ありがとうございます。

前の返信で「明日また調べてみようと思います。」とか言っておきながら、忙しさからまったく手をつけることができずにいました。
教えていただいたとおり、diary.cgiに記入することで解決することが確認できました。記入する行の位置に問題があったんですね。
デモ用日記ページまで作っていただいて、お手数おかけしました。とても参考になりました。

>セキュリティ上の都合により、CGIは幾つか制限しているため使用できないモジュール等が有ります

はい。承知しております。これだけの機能が使えれば十分ですので…
無料で広告なし、それでいてCGIが使えるという、こちらの鯖ほど好条件のところは他にないですし。とても気にいってます。

私が個人的に使おうとしているCGI本体の設定まで助けていだだきまして、本当にありがとうございました。

これからもお世話になります。

タイトルRe^5: CGIの時間取得について
記事No244
投稿日: 2006/10/09(Mon) 23:02
投稿者info
ringさん、問題解決ができて良かったですね。
こちらこそ宜しくお願いします。

#kuziraさん、いつもサポート有難うございます。
これからも宜しくお願いします。m(_ _)m