wp-includes/functions.php Revision 10407 -> Revison 10408 で
行われた function mysql2date への変更が原因のようです。
Optimizations for mysql2date() http://core.trac.wordpress.org/ticket/8166
mysql2date() を Revision 10407 に戻すとうまくいくのですが、
1960年代以前の日付が使えないのは仕様なのでしょうか。
主観+憶測で書きます。
頓珍漢な回答だと思いますのでその辺りはご容赦を+解決方法じゃなくてごめんなさい。
そもそもなぜ1960年以前の日時での公開日設定が必要なのでしょうか?
私が思うに他Blogからの移行をするとしても、過去10年前後からの公開ではないでしょうか?
新しく記事を書く場合は、数日前or本日or未来で書くと思うので1960年以前とか50年弱前の日付での
公開記事を2009年に書く人は稀だと思います。
そのため、想定していないのではないでしょうかね?
過去49年まで遡って公開できるんだ~と感心した私がいます。
PHPのdate()関数を見るとこのように書かれています。
変更履歴
バージョン 説明
5.1.0 有効なタイムスタンプの範囲は、通常 Fri, 13 Dec 1901 20:45:54 GMT から Tue, 19 Jan 2038 03:14:07 GMT までです (これらの日付は、32 ビット符号付き整数の最小および最大値に 対応します)。 しかし、PHP 5.1 より前のバージョンでは、システム環境によっては (例: Windows) この範囲が 1970 年 1 月 1 日から 2038 年 1 月 19 日 までに制限されます。
これが関係していると考えるのが普通でしょうか。
>masaru さん
http://gosun.s317.xrea.com/ こちらで使っています。
>shokun0803 さん
情報ありがとうございます。
php は 5.2 でした。
当方の環境は以下の通りです。
s317.xrea.com
Apache 1.3.37
PHP 5.2.5
MySQL 5.1.22-rc
http://wordpress.org/support/topic/285531?replies=8#post-1144644
上記リンクを見ると、ホストの問題かなと思うのですが、、、
wp2.7辺りのリビジョンから少しずつリビジョンを上げて動作確認をしたところ、
Revision 10407 -> Revison 10408 を境に上記現象が起きた為、
ここが原因だろうと思ったのですが、プログラミングに疎いもので、
コードが問題なのか、サーバーの問題が顕在化したのかわからないのです。
引き続き助言いただけたら幸いです。
現在のインストール環境の問題なのではなく、wordpress自体がPHP5.1よりも前のバージョンで動くのですから、それにあわせたプログラミングがされていると見るべきです。
そう考えれば仕様なのだと思いますが、都合が悪ければコアの修正かプラグインないしfunctions.phpにそれを可能とする記述を組み込むしかないのかもしれません。
すみません、試してみました。
テーマの
<?php the_time('Y.m.d') ?>
のような記述を
<?php the_date_xml(); ?>
のように記述しなおすと表現できるかもしれません。ただし体裁は変えられませんが・・・
テンプレートタグ/the date xml
wp-includes/functions.php の mysql2date() から呼ばれている
date_i18n の以下のコードがあります。
ここで現在時刻が設定されてしますようです。
これは shokun0803 さんのおっしゃった 5.1 制約によるものでしょうか?
5.2以上ならコメントアウトしてもよいでしょうか?
/ Sanity check for PHP 5.1.0-
if ( false === $i || intval($i) < 0 ) {
if ( ! $gmt )
$i = current_time( 'timestamp' );
else
$i = time();
// we should not let date() interfere with our
// specially computed timestamp
$gmt = true;
}
trac にパッチを送りました。上記の環境以外でのテストをしていただけると助かります。
Backdated pre-1st January 1970 post displayed as published on the current viewing day
http://core.trac.wordpress.org/ticket/10332
本家のフォーラムにこの問題についてのトピックがありましたので、
そちらにも書き込みました。
Bug with backdated post before 1 January 1970 – wp2.8
http://wordpress.org/support/topic/285531
いろいろと助言いただき、ありがとうございました。