Как исправить предупреждение с даты() в PHP "

Я использую XAMPP (PHP Version 5.3.1) на winxp. Когда я пытаюсь вызвать функцию time() или date() на моем localhost. Он покажет предупреждающее сообщение,

Уровень важности: предупреждение

Сообщение: date() [function.date]: Это небезопасно полагаться на систему настройки часового пояса. Вам необходимо использовать настройку date.timezone или date_default_timezone_set() функция. Если вы использовали любой из эти методы, и вы все еще получив это предупреждение, вы, скорее всего, с ошибкой указал идентификатор часового пояса. Мы выбрано 'UTC' для '8.0/no DST' вместо

Имя файла: helpers/date_helper.php

Как отключить предупреждение? Спасибо.

+32
04 апр. '11 в 7:05
источник поделиться
5 ответов

Попробуйте установить date.timezone в php.ini файл. Или вы можете вручную установить его с помощью ini_set() или date_default_timezone_set().

+58
04 апр. '11 в 7:07
источник

Вам нужно установить часовой пояс smth по умолчанию следующим образом:

date_default_timezone_set('Europe/Bucharest');

Подробнее об этом в http://php.net/manual/en/function.date-default-timezone-set.php

Или вы можете использовать @ перед датой, чтобы подавить предупреждение, однако, поскольку предупреждение указывает, что небезопасно полагаться на часовой пояс по умолчанию сервера

+19
04 апр. '11 в 7:09
источник

Вы также можете использовать это:

ini_alter('date.timezone','Asia/Calcutta');

Вы должны вызвать это перед вызовом любой функции даты. Он принимает ключ как первый параметр для изменения настроек PHP во время выполнения, а второй параметр - значение.

Я сделал это, прежде чем я понял это:

  • Изменен PHP.timezone на "Азия/Калькутта" - но не работает
  • Изменены параметры lat и long в ini - не работают
  • Используется date_default_timezone_set("Asia/Calcutta"); - не работает
  • Используется ini_alter() - IT WORKED
  • Комментирует date_default_timezone_set("Asia/Calcutta"); - IT WORKED
  • Отменил изменения, внесенные в PHP.ini - IT WORKED

Для меня метод init_alter() заставил все это работать.

Я запускаю Apache 2 (предварительно установленный), PHP 5.3 на горном льве OSX

+9
25 окт. '12 в 13:27
источник

Это просто со мной, потому что в php.ini date.timezone не был установлен!

; date.timezone = Europe/Berlin

Использование функции php date() вызвало это предупреждение.

+3
13 мар. '14 в 1:42
источник
error_reporting(E_ALL ^ E_WARNING);

:)

Вам следует изменить тему "Как исправить предупреждение с даты() в PHP"...

0
04 апр. '11 в 7:20
источник

Посмотрите другие вопросы по меткам или Задайте вопрос