ошибка часового пояса по умолчанию в php

Я получил следующую ошибку / предупреждение во время tring для установки Kohana / SilverStripe.
Что это значит и что мне делать?

Warning: date_default_timezone_get(): 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 'Asia/Calcutta' for '5.5/no DST' instead in C:\Server\apache\htdocs\kohana\system\core\Kohana.php on line 136 

Заранее спасибо!

Это не ошибка, а предупреждение, поэтому он не блокирует ваше приложение от работы.

Явно установить правильный часовой пояс, используя date_default_timezone_set () в C: \ Server \ apache \ htdocs \ kohana \ system \ core \ Kohana.php в строке 136

Вы должны выбирать между допустимыми часовыми поясами


редактировать

Поскольку в самом предупреждающем сообщении говорится, что у вас есть более чистый выбор, то редактируйте файл стороннего программного обеспечения. Т.е. настраивать PHP так, как должно быть.

  • отредактируйте свой php.ini и настройте значение date.timezone = America/New_York

или

  • используйте директиву php_value в конфигурации вашего веб-сервера, чтобы установить ее в вашей конфигурации php_value date.timezone America/New_York или .htaccess : php_value date.timezone America/New_York

Комментарий ФП к его собственному вопросу предполагает, что часовой пояс по умолчанию не может быть установлен в php.ini, что неверно – на самом деле, во многих случаях его настройка предпочтительнее . И так как этот SO-ответ является одним из первых хитов в Google для «ошибки часового пояса php по умолчанию», я сохраню другие потерянные рассудок.

Очень распространенная причина этой ошибки заключается не столько в том, чтобы очертить зону города или страну (например, «Нью-Йорк», «Лос-Анджелес») в используемом файле php.ini, а вместо этого включать вложенные пространства, а не подчеркивания в идентификатор и, таким образом, «пропуская» полную константу.

Это также будет делать то, что вы хотите, без необходимости устанавливать его на каждой странице во время выполнения (проверено на PHP 5.4 и 5.3 в Windows, Linux и OSX):

В php.ini :

 [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = America/New_York ; ^^^^^^^^^^^^^^^^ * Must_Use_Underscores * 

Кроме того, если вы проверили и повторно проверили правописание и уверены, что это правильно, убедитесь, что вы редактируете фактический файл php.ini, который используется:

Веб-контекст (создайте тестовый файл test.php , а затем подтвердите там date.timezone ):

  <? php phpinfo ();  ?> 

Командная строка Linux / OSX:

  $ php -i |  grep "часовой пояс" 

Командная строка Windows:

  C: \> php -i |  найти "часовой пояс" 

Здесь подробно описан порядок приоритета для получения конфигурации часового пояса по умолчанию.

Если у вас нет возможности изменить php.ini , добавьте это в свои _ss_environment.php или mysite/_config.php :

date_default_timezone_set('...');

где ... является одним из допустимых временных интервалов PHP.