Error: PHP - It is not safe to rely on the system's timezone settings.

You get the following warning when you run a PHP script:

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.

 

Solution

First find out your system's timezone. On Debian/Ubuntu, it's in /etc/timezone:

cat /etc/timezone
root@server1:~# cat /etc/timezone
Europe/Berlin
root@server1:~#

On Fedora/CentOS/RedHat, it's in /etc/sysconfig/clock:

cat /etc/sysconfig/clock
[root@server1 ~]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
UTC=true
ARC=false
[root@server1 ~]#

Open your php.ini. On Debian/Ubuntu, it's /etc/php5/apache2/php.ini:

vi /etc/php5/apache2/php.ini

On Fedora/CentOS/RedHat, it's /etc/php.ini:

vi /etc/php.ini

Find the date.timezone line, make sure it is not commented out and has the correct timezone for your system:

date.timezone="Europe/Berlin"

Restart Apache afterwards:

On Debian/Ubuntu, you run:

/etc/init.d/apache2 restart

On Fedora/CentOS/RedHat, you run:

/etc/init.d/httpd restart

If you don't have access to your system's php.ini, you can set the default timezone at the beginning of your PHP scripts as follows:

<?php
date_default_timezone_set("Europe/Berlin");
[...]
?>
Share this page:

2 Comment(s)