12
votes

Warning: date() [function.date]: 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 ............

There are many web applications that spring up this particular error. I could set

date_default_timezone_set('America/Los_Angeles');

But that is not the solution I am looking for.

Can I do something from system level. It happens only on LOCALHOST not on the actual production server.

Default set in php.ini is date.timezone = America/Los_Angeles

[update] edited php.ini

Warning: phpinfo() [function.phpinfo]: 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

5
Well, if you're not looking for one then... do the other?Ignacio Vazquez-Abrams
You edited the right php.ini? Usually PHP uses different inis for webserver, cli and cgi. try phpinfo()KingCrunch
It isn't clear what your exact question is: if php.ini is not system level enough, or if PHP still triggers the warning after you changed it.Álvaro González
@KingCrunch Nope have not edit the php.iniX10nD
@Jean There are three answers, all telling you the same thing. Find the php.ini loaded by your server - phpinfo(1) will tell you the location. Then set a value for date.timezone. Is there any particular reason why you didn't accept any of these answers?hashchange

5 Answers

8
votes

The reason it is happending on one server and not the other is the php.ini setting date.timezone=.

You would still need to pick an actual value though. You assuredly don't have one. Or in the wrong php.ini version (there's one for CLI and one for mod_php).

1
votes

As the other posters have mentioned, setting date.timezone in the php.ini file is the way to go. If you are still seeing the error about needing to set it, did you restart your web server (apache, IIS, etc) after setting the php.ini?

Also, the warning from phpinfo means the rest of the output should still be showing. Make sure you're editing the correct php.ini file according to the phpinfo() output.

That will likely get you working as you'd like.

1
votes

to remove this warning from your project

There are 2 ways to do so...

1) date_default_timezone_set('Asia/Kolkata'); include this file in your index.php file This will work only for your current project

2) date_default_timezone_set('Asia/Kolkata'); or inlude this file in your php.ini file This will work for every project

thnx :)

0
votes

As the warning says...

use the date.timezone setting

Just configure this with your timezone in php.ini, and all will be well for all apps on your server.

EDIT If you are still having this problem after having configured this, you will probably find that your system uses more than one php.ini file. To find out which ini file is used for your web server, use phpinfo().

-1
votes

It works by setting

date.timezone = Asia/Calcutta

For details go to: PHP Documentation - Asia Timezones