Здесь странный. Я просто обновляюсь до php 5.3.0, и с момента обновления я получаю следующее предупреждение:
Предупреждение: getdate () [function.getdate]: Нельзя полагаться на настройки часового пояса системы. Вы должны использовать параметр date.timezone или функцию date_default_timezone_set (). Если вы использовали какой-либо из этих методов, и вы все еще получаете это предупреждение, скорее всего, вы ошиблись с идентификатором часового пояса. Мы выбрали 'America / Chicago' для 'CST / -6.0 / no DST'
- Как я могу автоматически определять дневную экономию на PHP?
- отображать дату / время на базе сайта на компьютерном времени пользователя в разных странах
- PHP, как установить часовой пояс?
- Как отформатировать дату в PHP без двоеточия в смещении?
- php часовой пояс «Etc / GMT + 5» эквивалентен UTC («Etc / UTC + 5»?)
После просмотра на разных форумах все говорят, что для решения проблемы все, что вам нужно сделать, это отредактировать зону дат в php.ini и перезапустить Apache.
Это не сработало для меня.
Я пытался
date.timezone="America/New_York" date.timezone=America/New_York date.timezone="US/Central"
Перезапустил apache после того, как внес изменения.
Поскольку у меня все еще есть более старая версия php install, я даже убедился, что я редактирую php.ini, что текущая версия php использует в то время для загрузки
/usr/local/php5/lib/php.ini
Все еще получаю предупреждение.
Какие-либо предложения?
Спасибо, что нашли время.
Чалвак, который прокомментировал первоначальный вопрос, ударил ногой по голове для меня. Я редактировал (я использую Debian):
/etc/php5/apache2/php.ini
… у которого был правильный часовой пояс для меня и был единственным .ini-файлом, который загружается с помощью date.timezone внутри него, но я получал вышеупомянутую ошибку, когда я запускал скрипт через Bash. Я понятия не имел, что мне нужно было редактировать:
/etc/php5/cli/php.ini
также. (Ну, для меня это было «также», для вас это может быть иначе, но я собираюсь сохранить свои версии php.ini для Apache и CLI сейчас).
Вы пытались установить часовой пояс по функциям: http://pl.php.net/manual/en/function.date-default-timezone-set.php
В последнее время мне пришлось настраивать Apache и PHP на двух ноутбуках. После много плача и скрежеща зубов, я заметил в выходе phpinfo, что (по какой-то причине: не обращая внимания во время установки PHP, плохая установка) Apache ожидал, что php.ini будет где-то там, где он не был.
Два варианта:
… и перезапустите Apache. В этой точке следует распознать настройки часового пояса.
Откройте файл .htaccess, добавьте эту строку в файл, сохраните и повторите попытку:
php_value date.timezone "America/Sao_Paulo"
Это работает для меня.
попробуйте, это работает для меня.
date_default_timezone_set('America/New_York');
В самом деле, который жаловался.
Проверьте наличие синтаксических ошибок в файле php.ini, особенно перед параметрами Date, которые не позволяют корректно анализировать файл.
Измените index.php следующим образом:
require_once($yii); $app = Yii::createWebApplication($config); Yii::app()->setTimeZone('UTC'); $app->run();
Я изменил /etc/php.ini
[Дата] ; Определяет часовой пояс по умолчанию, используемый функциями даты; http://php.net/date.timezone date.timezone = ('Asia / kolkata')
и теперь отлично работает.
Випин Пал
Очевидно, что я немного вне сезона по этому вопросу, но на благо следующего страдальца: у меня была эта проблема, и в моем случае (в отличие от OP, который пробовал то же самое без успеха) исправить было пересмотр php.ini , изменение
date.timezone = America/New York
в
date.timezone = America/New_York
Это добавление подчеркивания.
Возможно, вы забыли удалить точку с запятой, чтобы раскомментировать эту строку. Для линии date.timezone = "US/Central"
убедитесь, что перед этой точкой нет точки с запятой.
Я обнаружил, как бы странно, что я мог исправить ошибки, разместив объявление часового пояса в TOP моего файла php.ini.
Это было уже в моем php.ini. На самом деле, дважды. И я вытаскивал свои волосы, потому что все говорили, что должно быть еще что-то загружено … Не было.
Надеюсь, это может спасти кого-то еще время / выпадение волос.
также вы можете попробовать это
date.timezone = <?php date('Y'); ?>