Как исправить следующие умные ошибки? (или php 5.3.8)

У меня есть эта ошибка

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 'EDT/-4.0/DST' instead in /var/www/html/includes/functions.php on line 1444

и эта ошибка

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 'EDT/-4.0/DST' instead in /var/www/html/includes/templatelib/plugins/modifier.date_format.php on line 37

и эта ошибка

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 'EDT/-4.0/DST' instead in /var/www/html/includes/functions.php on line 3538

Я прочитал, что первая вызвана последней версией PHP, но другие 2 являются основными ошибками

Я видел на форуме durpal, ошибка, похожая на 1-й, и исправление было редактировать php.ini

и исправить было добавить часовой пояс, как date.timezone = "America/New_York" это не работает для меня

РЕДАКТИРОВАТЬ

Хорошо, так что вы все согласились на 1 решение, я должен отредактировать свой исходный код, что-то изменить в php.ini или нет? потому что до сих пор я пытался исправить это из php.ini и не работал

Починил это

я должен был изменить свой часовой пояс VPS

ln -sf /usr/share/zoneinfo/GMT /etc/localtime

и сделать то же самое с php.ini, я также забыл перезапустить Apache LOL:D

3 ответа

Решение

Если вы не хотите использовать date_default_timezone_set в начале ваших сценариев вы должны убедиться, что PHP действительно загружает эту опцию конфигурации правильно. Проверьте phpinfo()выходной. Еще один потенциальный вопрос: я не знаю о вашей настройке хостинга, но у меня есть несколько PHP ini-файлов для разных конфигураций, и иногда я редактирую неправильный. Удобно phpinfo(); также сообщает вам, какие файлы.ini он использует, чтобы вы могли перепроверить это.

Тем не менее, date_default_timezone_set вариант, предложенный другими, в значительной степени гарантированно работает.

Ты пытался

date_default_timezone_set('Europe/London');

в начале вашего сценария PHP? (Измените "Европа / Лондон", где бы вы ни были, конечно!)

Пытаться:

Поместите это в первую строку

date_default_timezone_set("America/New_York");
Другие вопросы по тегам