# HELP: squirrelmail, php, & date functions broke -- SOLVED

## Moriah

After a routine update a couple of weeks ago, my squirrelmail started complaining viciously about date functions:

```

Warning: strtotime() [function.strtotime]: 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/New_York' for 'EST/-5.0/no DST' instead in /home/httpd/elilabs.com/squirrelmail/functions/date.php on line 437

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 'America/New_York' for 'EST/-5.0/no DST' instead in /home/httpd/elilabs.com/squirrelmail/functions/date.php on line 95

```

I let it ride for a week because I was very busy with a client, and I could still send and receive mail, but it is a pain and looks very bad in front of my client.  After another routine weekly update, the problem was still there, so I am asking for help.  I did search and found nothing that looked helpful.  Hopefully somebody know what's happening here.

Thanks!    :Very Happy: 

----------

## M

Just set date.timezone in php.ini to your timezone, for example:

```
date.timezone = "America/New_York" 
```

----------

## Moriah

Thanks, that worked.  I wish all my problems were that easy to fix.    :Cool: 

But why do you suppose that setting suddenly became so important that it had to generate all those warning messages since since I 2 weeks ago?  I never had to set that before, and everything worked fine.  Why the sudden BIG DEAL?    :Shocked: 

----------

## M

Which version of PHP are you using? Check with 

```
eselect php list apache2
```

5.3 brought this, but maybe 5.2 behave like this now, your routine should always check changelog before updating  :Wink: 

----------

## Moriah

Its 5.3    :Surprised: 

I have a dozen boxes to update, and I try to do it every week, for security reasons mainly.  I do emerge --sync; emerge -pv --update system; and then look at what is wanting to change.  If it doesn't look too dangerous, I take out the -pv and let 'er rip.  I follow this with another emerge for world, then finish up with --deep --newuse system, then the same for world.  After all that completes, I do a revdep-rebuild -pv to make sure nothing is lingering in there to bite me.  If it is, I remove the -pv and run the revdep again to take care of it.  I check the messages that the emerges might output, and act on them if needed, such as revdep-rebuild -l libblah.so.* etc...

I really do not have time to read every little detail in the changelog for every package that might change on any system; I would be all week running the weekly updates.  I am only the sysadm of these systems because there is no one else to do it.  I have other duties working at client sites.  I usually have to do these updates remotely.  Right now, I am 500 miles from the affected systems, other than my laptop, which is with me and boots gentoo.

What do you suggest, given my situation, is the best way to avoid these little suproses without making a career out of doing these updates.  BTW None of those dozen systems is the same as any others, so the updates are all different.    :Sad: 

----------

