PHP5.3以降を使用している場合、php.iniが正しく設定されていない場合、PHPの日付関数でエラーが発生しますが発生します。これまでの多くの古い PHP プログラミング チュートリアルではこの問題について言及していなかったので、多くの読者は困惑するでしょう。この問題を解決するための 3 つの方法を以下の著者が説明します。
「PHP 警告:
」
date() [function.date]: システムのタイムゾーン設定に依存するのは安全ではありません。
日付を使用するには*必須*です。
タイムゾーン設定または date_default_timezone_set() 関数。
これらの方法のいずれかを使用しても、まだこの警告が表示される場合は、
おそらくタイムゾーン識別子を見逃しているでしょう。
「
実は、PHP 5.1.0以降では、date()などの関数を使用する際、タイムゾーンの設定が間違っていると、time関数が呼び出されるたびにE_NOTICEやE_WARNINGの情報が生成されてしまいます。また、PHP 5.1.0 では、date.timezone オプションはデフォルトでオフになっており、どの PHP コマンドを使用してもグリニッジ標準時になっていますが、PHP 5.3 では、これが強制的に破棄されるようです。間違っています。この問題を解決するには、ローカライズするだけです。
1. ヘッダーで date_default_timezone_set() を使用して date_default_timezone_set('PRC') を設定します
date('Y-m-d H:i:s');
2. ページのヘッダーでini_set('date.timezone','Asia/Shanghai');を使用します。
3. php.ini を変更します (Windows システムの場合、ファイルは C ドライブ、システムが C ドライブにインストールされている場合は Windows ディレクトリにあります)。メモ帳を使用して php.ini を開き、date.timezone を検索し、先頭のセミコロンを削除して次のように変更します: date.timezone = PRC
http サービス (apache2 や iis など) を再起動するだけです。