ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「システムのタイムゾーン設定に依存するのは安全ではない」という問題を解決する
この記事では主に、PHP の「システムのタイムゾーン設定に依存するのは安全ではない」問題を解決する方法を紹介しますので、必要な方は参考にしてください
PHP5.3 以降を使用している場合は、正しく設定されていない場合、PHP の日付関数に関するエラーが php.ini に表示されます。これまでの多くの古い PHP プログラミング チュートリアルではこの問題について言及していなかったので、多くの読者は困惑するでしょう。この問題を解決するための 3 つの方法を以下の著者が説明します。
「PHP 警告:
date() [function.date]: システムのタイムゾーン設定に依存するのは安全ではありません。
日付を使用することが *必須*です。
タイムゾーン設定または date_default_timezone_set() 関数。
これらの方法のいずれかを使用してもまだこの警告が表示される場合は、
タイムゾーン識別子のスペルを間違えている可能性が最も高くなります。
「8.0/DST なし」の代わりに「UTC」を選択しました
実際には、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'); //東部第 8 タイムゾーンのエコーを設定します。
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 = "Asia/Shanghai"
php または http サービス (apache2 や iis など) を再起動します。
上記の 3 つの方法のいずれかを選択できます。エディタでは、毎回追加のコードを追加せずに 3 番目の方法を使用することをお勧めします。
上記では、PHP の「システムのタイムゾーン設定に依存するのは安全ではない」問題を解決する方法を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人の役に立てば幸いです。