バージョン選択

フォーラム

メニュー

オンライン状況

50 人のユーザが現在オンラインです。 (32 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 50
もっと...

サイト内検索

質問 > その他 > 海外サーバーのタイムゾーン対応のカスタマイズについて

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tanakam
投稿日時: 2011/4/15 0:07
対応状況: −−−
新米
登録日: 2010/7/14
居住地: 東京都
投稿: 8
海外サーバーのタイムゾーン対応のカスタマイズについて
お世話になります。

海外サーバーを使用しているのですが、DBに書き込まれる日付が海外の時間で登録されてしまします。USA時差14時間。
できれば、日本時間でDBに登録したいと考えているのですが、ネットで調べたら過去のEC-CUBEバージョンで対応する記載がありました。


【以下、カスタマイズ方法】※ネットから引用させていただきました。
 ---------------------------------------------------------
  タイムゾーンの修正:海外サーバーを使う場合の時差をなくす方法【EC-CUBEカスタマイズ】

  1.php.iniに、タイムゾーンを書きます。
  2./data/class/SC_DbConn.phpの
   「$this->conn = $objDbConn;」の1行後ろに、
   「$this->conn->query(“SET time_zone = ‘Asia/Tokyo’”);」を追加。

    これで、DBに格納される受注日などは日本のタイムゾーンで登録されます。
 ---------------------------------------------------------

上の1.php.iniのタイムゾーンは追加しましたが、2.のEC-CUBE 2.11.0 バージョンでは、
「/data/class/SC_DbConn.php」のファイルが無くなっていますので、同じような対応を行うには、どのようにしたら良いのか分からずいます。

EC-CUBEの新バージョン(2.11.0)でのカスタマイズを方法をご存じでしたら教えていただけると助かります、

よろしくお願い致します。


<システム環境>
------------------------------------------------------------
[EC-CUBE] 2.11.0
[レンタルサーバ] Host Gator(海外レンタルサーバー)
[OS] Linux 2.6.34.6
[PHP] PHP 5.2.15
[データベース] MySQL 5.1.52 UTF-8 Unicode 設定
[WEBサーバ] apache 2.2.15
------------------------------------------------------------

AMUAMU
投稿日時: 2011/4/15 0:50
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 海外サーバーのタイムゾーン対応のカスタマイズについて
SC_Queryの冒頭のほうでsetCharsetなどをしている並びで実行する感じになるかと思います。
DBライブラリ的にはsetOptionとか使う方が良いのかもしれませんが・・・恐らくqueryでも事は足りるかと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

tanakam
投稿日時: 2011/4/15 13:37
対応状況: −−−
新米
登録日: 2010/7/14
居住地: 東京都
投稿: 8
Re: 海外サーバーのタイムゾーン対応のカスタマイズについて
AMUAMUさん

早々のアドバイス有り難うございます。

早速、教えて頂いたSC_Query.phpファイルへカスタマイズを試みて
見ましたが、結果は日付・時間とも反映されませんでした。
教えて頂きました場所は、おそらく以下の所だと追加してみました。


78行目から記載(元の状態)------------------------------------
if (!PEAR::isError($this->conn)) {
$this->conn->setCharset(CHAR_CODE);
$this->conn->setFetchMode(MDB2_FETCHMODE_ASSOC);
}
---------------------------------------------------------------
【対応試み1】
if (!PEAR::isError($this->conn)) {
$this->conn->setCharset(CHAR_CODE);
$this->conn->setFetchMode(MDB2_FETCHMODE_ASSOC);
$this->conn->query("SET time_zone = 'Asia/Tokyo'");
}
---------------------------------------------------------------
【対応試み2】
if (!PEAR::isError($this->conn)) {
$this->conn->setCharset(CHAR_CODE);
$this->conn->setFetchMode(MDB2_FETCHMODE_ASSOC);
$this->conn->setOption("SET time_zone = 'Asia/Tokyo'");
}
    ※setOptionの記述は、これで良いのでしょうか?
---------------------------------------------------------------

一様、ifの条件で処理が実行されているのは、確認しています。
他にアドバイスがございましたら、お願い致します。

よろしくお願いします。

Fortitude
投稿日時: 2011/5/20 13:43
対応状況: −−−
新米
登録日: 2011/5/5
居住地:
投稿: 5
Re: 海外サーバーのタイムゾーン対応のカスタマイズについて
すでに解決済みでしたらいいのですが、私も同じような状況で、海外サーバー使用で受注日などに時差が出てましたので、解決できた方法を記載しておきたいと思います。

EC-CUBE 2.11です。

/data/class/SC_Query.php 内の73行目以下 3か所に
$this->conn->query("SET TIME ZONE '+9'");
を追加したら、受注日などが修正されました。

("")内の構文につきましては、私はPostgreSQLを使っておりますので、MySQLならばMySQL用の構文に書き直して下さい。(+9も、時差時間数ですがPostgreの記載方法ではないかと思いますので…)
-------------------------------------------------------------------
if ($new) {
$this->conn = MDB2::connect($dsn, $options);
$this->conn->query("SET TIME ZONE '+9'");
} else {
$this->conn = MDB2::singleton($dsn, $options);
$this->conn->query("SET TIME ZONE '+9'");
}
if (!PEAR::isError($this->conn)) {
$this->conn->query("SET TIME ZONE '+9'");
$this->conn->setCharset("utf8");
$this->conn->setFetchMode(MDB2_FETCHMODE_ASSOC);
-------------------------------------------------------------------

ただ、私はデータベースなどあまり詳しくありませんので、もしこの内容を詳しい方が見られて、記述したことにより弊害が起こる可能性があるのでは?と思われたならばご指摘いただければ幸いです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,370名です
総投稿数は97,211件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2484
4
nanasess
2088
5
umebius
1649
6
yuh
1612
7
red
1410
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.