以前、counterize iiの時刻がずれてしまうという投稿をしたときに、その対処法としてwp-settings.php内の「date_default_timezone_set( ‘UTC′ );」を「date_default_timezone_set( ‘UTC+9′ );」に書き換える(タイムゾーンの設定をUTC+9にする)という方法を取りました。
この方法でWordPress本体の投稿もcounterize iiのログ時刻もきちんとJSTに揃うようになったのですが、前回投稿したように、この状態だと(なぜか)Sitemap Generatorの時刻が+9時間ずれてしまうことが判明。
で、どうしたものかと思案しつつ、結局google先生に尋ねてみることに。
すると・・・。
どうやら上記「date_default_timezone_set( ‘UTC′ );」の該当行に+9の設定をするのではなく、この行それ自体をコメントアウトすることで対応できるっぽいことがわかりました。
そこでさっそくやってみることに。
SSHでサーバにログインし、設定ファイルをいじれるユーザになってから、wp-settings.phpのあるディレクトリまで移動します。
# vi wp-settings.php
// WordPress calculates offsets from UTC.
date_default_timezone_set( ‘UTC+9’ );
となっているので、これをコメントアウトします。
// date_default_timezone_set( ‘UTC+9’ ); ← 「//」がコメントアウトの記号
そして保存したら、念のためapacheを再起動します(もちろんそうするとこの投稿が破棄されてしまうので、ここで一度下書き保存です 笑)。
さて、再起動が完了したこの時点で、ひとまずcounterize iiの時刻はおかしくなっていないことが確認されました。
引き続き、投稿時刻とsitemap generatorの時刻がおかしくならないかどうかを確認しなければなりません。そのために、まずこの投稿を完了させます。その後、投稿された時刻及びsitemap generatorがPINGを発した時刻を確認してみることにします。
はてさて、結果はどうなりますでしょうか!?
・・・この投稿をしているのは、28日の20:55頃。実際に、WordPressの投稿編集が面においてそのリビジョンを確認すれば、「公開日時:2014年6月28日@20:55」となっており、投稿時刻は適切に管理されています。
それが、PINGを飛ばしてみたら、なぜかその飛ばした日時は2014年6月29日 05:56となってしまっていました・・・orz
・・・ばっちり9時間ずれています(進んでいる)。これって、どう考えてもデフォルトの時刻に対して+9してるってことですよねー・・・。
その他調べてみると、「date_default_timezone_set( ‘Asia/Tokyo’ );」をコメントアウトすればいい、というような情報にも当たりましたが、現在うちのwp-settings.phpにはこの書式での時刻指定はありません(ざっと見た限り、WordPressのバージョンが異なっているっぽかったです)。
他にもwp-settings.php内にある
if ( function_exists(‘date_default_timezone_set’) )
date_default_timezone_set(‘UTC’);
を両方ともコメントアウト(ここでは#がその記号となっていた)すればよい、とありましたが、これもうちのwp-settings.phpには該当行なし。
ただ、別のところではうちと同じwp-settings.phpの該当行でもコメントアウト記号は「//」ではなく、「#」を使う、ともありました。
これは調べて見たところ、一行のコメントアウトならどちらでもいい(複数行にまたがるコメントアウトの場合は/*~*/でくくる)とありましたから、問題ない・・・と思います。
うーん、この問題、まだしばらくクリアできそうにありません・・・orz