1. ホーム
  2. php

symfony2 と date_default_timezone_get() - システムのタイムゾーンの設定に依存するのは安全ではない

2023-08-25 23:25:21

質問

私はSymfony2プロジェクトを持っています。今日、phpを5.5.7にアップデートしたのですが、それ以来、私は

Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in...

php.iniでデフォルトのタイムゾーンを設定しました。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Paris";

これが良いphp.iniであることを確認するために、次のようにチェックしていました。

phpinfo();

そして、私がそこに取得するパスは、私が修正しているものです。

 /usr/local/php5.5.7/lib 

しかし、その中に

Default timezone    UTC 

というのはおかしいですね。

というのはどうでしょうか?ありがとうございます。

どのように解決するのですか?

おそらく、Apacheの php.ini で設定しようとしているのかもしれませんが、CLI (Command Line Interface) の php.ini は良くありません。

あなたの php.ini ファイルを次のコマンドで探します。

php -i | grep php.ini

そして、検索して date.timezone と設定し、それを "Europe/Amsterdam" すべての有効なタイムゾーンは、ここで見つかります。 http://php.net/manual/en/timezones.php

別の方法 (他がうまくいかない場合) は、ファイルを検索します。 AppKernel.php というファイルを探します。 app の下にあるはずです。 symfony プロジェクトディレクトリに設置します。を上書きして __construct 関数をクラス AppKernel :

<?php     

class AppKernel extends Kernel
{
    // Other methods and variables


    // Append this init function below

    public function __construct($environment, $debug)
    {
        date_default_timezone_set( 'Europe/Paris' );
        parent::__construct($environment, $debug);
    }

}