open the appropriate php.ini file and add the following, replacing the time zone with the one which is correct for you (list of timezone names - http://php.net/date.timezone):

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "America/Chicago"

for a little more detail:

http://forums.modx.com/thread/33294/solved-warning-strtotime-function-strtotime-in-evo-1-01-on-php-5-3-0


It sounds like there may be more than one php.ini on your system and the wrong one has been edited. I believe it is possible to specify a different php.ini directory per vhost with suPHP (using the suPHP_ConfigPath option).

There are a couple of options open to you. Firstly: you could (as the error message suggested) use:

date_default_timezone_set()

However, this does make your code less portable.

Alternatively you can double-check which php.ini file is being loaded when the script executes by creating a phpinfo page; i.e. just a web-accessible php file with the following content:

<?php
phpinfo();

View the page and look for the sections marked "Loaded Configuration File" and "Additional .ini files parsed". These should tell you which ini files you need to be editing.

It is worth checking all of the files listed as any of them may contain misspelt date.timezone settings that are overriding the one you have set.