26
votes

Can anyone tell me why am I getting this error when running app/console in a brand new formatted macbook with the latest MAMP installed ?

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 'Europe/Helsinki' for 'EEST/3.0/DST' instead in /../Logger.php line 112

I have checked the path of php.ini and marked out the date.timezone = "Europe/Athens"

Also restarted MAMP/apache several times.

10
I posted an answer for similar error on DotProject hereSandi Laufenberg-Deku

10 Answers

21
votes

Default php.ini in OS X is located at:

/private/etc/php.ini

Anyway, you'll can either tell CLI php to load MAMP settings, or use an alias of MAMP command itself.

22
votes

At AppKernel.php write:

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

Since init() is deprecated (and will be remove in Symfony2 3.0) it is recommended to move the code in the constructor as in the following exemple:

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' );
}
8
votes

You don't edit the good php.ini file

You can get a full phpinfo() using :

php -i 

And, in there, there is the php.ini file used :

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
6
votes

I had the same problem, and it's true there is a command line, and MAMP/Native Mac PHP service running on Yosemite, and while I was trying to follow the directions on this page non of them seemed to work for me.

When I ran php command:

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

I realized that the php.ini that the CLI was using, was actually php.ini.default file. I created a symbolic link to that file as the php.ini and everything worked.

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

4
votes

I did follow your answers, but in my case none of them worked. I decided to go change the date_default_timezone_get() in the logger.php file.

I replaced with my timezone setting ("Europe/Berlin"), and all went well !

Old school solution but still a solution.

4
votes

I had the exact same problem with my SF2 installation.

To fix this just go into your php.ini file at /etc/php.ini and change your file to look like this (adjust your timezone to suit your local timezone):

;;;;;;;;;;;;;;;;;;; ; 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
3
votes

Your default php.in in Mac OSX is located at /etc/php.ini which is exactly the same than the /private/etc/php.ini file.

You should know that you have the possibility of using two php version running in parallel. I had this issue 'cause I was using the native mac osx php, however I had to install a php package through homebrew, then I got the other version of php through homebrew. though I had the time zone already configured in my php.ini file at /etc/php.ini, I still had the same problem, so I run:

php -i | grep 'Configuration File'

in order to configure the correct file, so I got:

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

Then I knew I had to edit the /usr/local/etc/php/5.3/php.ini file.

After that, It all went right. I had not that issue any more.

I hope it helps you to solve that.

1
votes

Usually, there are separate php.ini files for CLI and Apache. Make sure you've edited the needed one.

1
votes

By default Mac uses in the console the PHP located at:

/private/etc/php.ini

You should use this one because MAMP always unset the timezone variable and you would always get that error.

1
votes

I had a similar problem on OS X 10.9. The problem in my case was the absence of a php.ini file in /etc. I solved the problem by creating that php.ini file with the contents:

date.timezone = Europe/Athens