Неправильный вывод PHP date () на сервере Wamp - PullRequest
10 голосов
/ 22 апреля 2011

Проблема в том, что date ('r') возвращает неправильное время для моего часового пояса.

Настройка часового пояса php.ini:
date.timezone = Europe / Kiev

date_default_timezone_set («Европа / Киев») в моем сценарии решает проблему.

Так что же не так с WAMP?

Ответы [ 7 ]

8 голосов
/ 22 апреля 2011

Я предлагаю всегда использовать date_default_timezone_set () из скрипта

например,

date_default_timezone_set('Europe/Kiev');

или

ini_set('date.timezone', 'Europe/Kiev');

..., чтобы избежать PHPугадывание часового пояса.

Это удобно, когда вы переносите код на другой сервер (ы), например, за пределами Украины.Эта строка должна помочь вам избежать неожиданных (неправильных) результатов, если date.timezone не установлен в php.ini или его настройка неверна.Это также удобно, когда вы не можете получить доступ и / или изменить php.ini (виртуальный хостинг).

Также убедитесь, что вы не использовали ; в строке и в строке php.ini.

Перезапустите сервер после изменения php.ini.

5 голосов
/ 23 июля 2013

Изменить php.ini и перезапустить Apache:

  • щелкните левой кнопкой мыши, чтобы WampServer в трее значок
  • , откройте php.ini (перейдите к PHP-> php.ini )
  • установить новое date.timezone значение
    ;date.timezone = UTC 
    date.timezone = Europe/Kiev
  • перезапустить Apache (перейти к Apache -> Сервис ->Перезапустите службу )
  • проверьте значение date.timezone по phpinfo();
3 голосов
/ 22 апреля 2011

Вам необходимо перезагрузить конфигурацию / перезапустить сервер после редактирования файла php.ini.

1 голос
/ 24 ноября 2017

Я знаю, что это старый вопрос. Если вы используете PHP-фреймворк, вы можете проверить конфигурационный файл фреймворка. Например, в Laravel откройте config/app.php, и вы найдете там часовой пояс. Установите его в свой часовой пояс.

1 голос
/ 14 декабря 2016

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

   date_default_timezone_set("Asia/Bangkok");//set you countary name from below timezone list
    echo $date = date("Y-m-d H:i:s", time());//now it will show "Asia/Bangkok" or your date time

Список поддерживаемых часовых поясов http://www.php.net/manual/en/timezones.php

1 голос
/ 22 апреля 2011

Согласно документации date_default_timezone_get, параметр конфигурации date.timezone может быть переопределен путем установки переменной окружения TZ (которая, в свою очередь, может быть переопределена)позвонив по номеру date_default_timezone_set).Из вашего описания я подозреваю, что установлена ​​TZ окружающая среда.

0 голосов
/ 15 марта 2017
  1. Откройте ваш php.ini с помощью notepad ++, возвышенного текста ...
  2. Добавьте эту строку в файл: date.timezone = "X" Где X - ваш желаемый часовой пояс. Получить список поддерживаемых часовых поясов можно здесь: http://php.net/manual/en/timezones.php

... Это должно сделать это. 3. Перезагрузите сервер

...