PHP 5.1.x では日付/時刻のサポートが完全に書き直され、 タイムゾーンを「知る」ためにシステムの設定を使用しないようになりました。 そのかわりに、以下の順番でタイムゾーンを取得します。
date_default_timezone_set() 関数を使用して設定したタイムゾーン (もし設定されていれば)
環境変数 TZ の値 (もし空でなければ)
"magical" な推測 (もし OS がそれをサポートしていれば)
これらのいずれの項目も存在しない場合は、UTC
正確性を保証する (そして警告 E_STRICT を出さないようにする) ためには、php.ini の中に以下の形式でタイムゾーンを定義する必要があります。
date.timezone = Europe/London
サポートされるタイムゾーンをこの形式で並べた一覧表が、PHP マニュアルの 付録 にあります。
また、strtotime() 関数は、失敗時に -1 ではなく FALSE を返すようになったことにも注意しましょう。