http://androidren.com/index.php?qa=277&qa_1=date-not-safe-rely-the-systems-timezone-settings-codeigniter
PHP代码中调用date()时,遇到如题的错误。
原因是:服务器没有配置时区。
解决方法有两种:
1.修改php.ini
You probably need to put the timezone in a configuration line in your php.ini file. You should have a block like this in your php.ini file:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
If not, add it (replacing the timezone by yours). After configuring, make sure to restart httpd (service httpd restart).
Here is the list of supported timezones.
2.修改调用地方的代码
If you cannot modify your php.ini configuration, you could as well use the following snippet at the beginning of your code:
date_default_timezone_set('Africa/Lagos');//or change to whatever timezone you want
The list of timezones can be found at http://www.php.net/manual/en/timezones.php.
另外,还有奇葩的解决方案:
Add the following in your index.php file. I first came across this when I moved my application from my XAMPP server to Apache 2.2 and PHP 5.4...
I would advise you do it in your index.php file instead of the php.ini file.
if( ! ini_get('date.timezone') )
{
date_default_timezone_set('GMT');
}