问题
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.
回答1:
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.
回答2:
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' );
}
回答3:
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
回答4:
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
回答5:
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.
回答6:
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
回答7:
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.
回答8:
Usually, there are separate php.ini files for CLI and Apache. Make sure you've edited the needed one.
回答9:
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.
回答10:
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
来源:https://stackoverflow.com/questions/12543236/date-default-timezone-get-it-is-not-safe-to-rely-on-the-systems-timezone-set