26

最新の MAMP がインストールされた新しいフォーマットの MacBook で app/console を実行すると、このエラーが発生するのはなぜですか?

警告: date_default_timezone_get(): システムのタイムゾーン設定に頼るのは安全ではありません。date.timezone 設定または date_default_timezone_set() 関数を使用することが *必須* です。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルが間違っている可能性があります。/../Logger.php の 112 行目で、「EEST/3.0/DST」の代わりに「Europe/Helsinki」を選択しました。

php.ini のパスを確認し、date.timezone = "Europe/Athens"

また、MAMP / apacheを数回再起動しました。

4

10 に答える 10

22

AppKernel.php で次のように記述します。

public function init() {
    date_default_timezone_set( 'Europe/Lisbon' );
    parent::init();
}

は推奨されていないためinit()(Symfony2 3.0 では削除される予定です)、次の例のようにコンストラクター内のコードを移動することをお勧めします:

public function __construct($environment, $debug) {
    parent::__construct($environment, $debug);
    // get rid of Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone
    date_default_timezone_set( 'Europe/Paris' );
}
于 2014-05-05T14:50:34.717 に答える
21

php.iniOS X のデフォルトは次の場所にあります。

/private/etc/php.ini

とにかく、CLI phpに MAMP 設定をロードするように指示するか、MAMP コマンド自体のエイリアスを使用することができます。

于 2012-09-22T11:39:22.403 に答える
8

適切な php.ini ファイルを編集しない

以下を使用して、完全な phpinfo() を取得できます。

php -i 

そして、そこには、使用されている php.ini ファイルがあります。

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
于 2012-09-22T11:21:00.677 に答える
6

私は同じ問題を抱えていました.コマンドラインがあり、Yosemiteで実行されているMAMP/Native Mac PHPサービスがあり、このページの指示に従おうとしている間、それらのどれもうまくいかないようでした.

私がphpコマンドを実行したとき:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => <em>(Blank)</em>

CLI が使用していた php.ini は、実際には php.ini.default ファイルであることに気付きました。そのファイルへのシンボリック リンクを php.ini として作成し、すべてが機能しました。

My-MacPro:/etc/$ ln -s php.ini.default php.ini

于 2015-01-01T19:49:45.237 に答える
4

SF2のインストールでもまったく同じ問題がありました。

これを修正するには、次のファイルに移動して、php.iniファイル/etc/php.iniを次のように変更します (ローカル タイムゾーンに合わせてタイムゾーンを調整します)。

;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;;

[Date] 
; Defines the default timezone used by the date functions 
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone 
date.timezone = Europe/London
于 2014-02-28T17:45:09.170 に答える
4

私はあなたの答えに従いましたが、私の場合はどれもうまくいきませんでした。logger.phpファイルを変更することにし date_default_timezone_get() ました。

タイムゾーン設定(「ヨーロッパ/ベルリン」)に置き換えたところ、すべてうまくいきました!

古い学校のソリューションですが、それでも解決策です。

于 2013-11-05T10:40:38.520 に答える
3

Mac OSX のデフォルトの php.in は/etc/php.ini、ファイルとまったく同じ場所にあり/private/etc/php.iniます。

並行して実行される 2 つの PHP バージョンを使用できる可能性があることを知っておく必要があります。ネイティブのMac osx phpを使用していたため、この問題が発生しましたが、homebrewを介してphpパッケージをインストールする必要があり、その後、homebrewを介して別のバージョンのphpを取得しました。php.iniのファイルで既にタイム ゾーンを構成して/etc/php.iniいましたが、それでも同じ問題が発生したため、次のコマンドを実行します。

php -i | grep 'Configuration File'

正しいファイルを構成するために、次のようになりました。

Configuration File (php.ini) Path => /usr/local/etc/php/5.3
Loaded Configuration File => /usr/local/etc/php/5.3/php.ini
PHP Warning:  Unknown: 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 
'America/Buenos_Aires' for 'ART/-3.0/no DST' instead in Unknown on line 0

/usr/local/etc/php/5.3/php.iniその後、ファイルを編集する必要があることがわかりました。

その後、すべてがうまくいきました。もうその問題はありませんでした。

それを解決するのに役立つことを願っています。

于 2013-09-26T17:50:32.720 に答える
1

OS X 10.9でも同様の問題がありました。私の場合の問題は、にphp.iniファイルがないことでした/etcphp.ini次の内容でそのファイルを作成することで問題を解決しました。

date.timezone = Europe/Athens
于 2013-11-06T14:54:10.277 に答える
1

通常、php.iniCLI と Apache には別のファイルがあります。必要なものを編集したことを確認してください。

于 2012-09-22T11:16:09.677 に答える