Как исправить следующие умные ошибки? (или 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");