Я получил следующую ошибку / предупреждение во время 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.