日: 2009年1月11日

【EC-CUBE】海外サーバーの時差をなんとかする(表現、ビミミョ~;)

海外サーバを使ってEC-CUBEを運営しているので、ここで時差になやまされる。

ワードプレスとかみたいなワールドワイドに結構作りこまれているソフトだとタイムゾーンを管理画面から調整できるのだけど、EC-CUBEは純国産だからか、そういう機能は残念ながら無い;

時差を吸収するためには、2つの対策が必要。

1つめ)PHPの扱う時間。これは受注メールを送ったりといったときに出てくることになる。
2つめ)DBが扱う時間。こっちは、受注した時間や管理画面を操作した時間なんかが登録される。

1つ目の対策→php.iniに、タイムゾーンを書く。

2つ目の対策→/data/class/SC_DbConn.phpの
「$this->conn = $objDbConn;」の1行後ろに、
「$this->conn->query(“SET time_zone = ‘Asia/Tokyo'”);」を追加。

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

先に既に登録されているものは変更されないので、手動で変更。