Назад | Перейти на главную страницу

Неправильный часовой пояс в журналах ошибок PHP

Отметки времени в моем журнале ошибок PHP отображаются в формате UTC. Я хочу, чтобы они отображались в моем часовом поясе.

Все веб-сайты, которые я нашел с помощью Google, просто говорят, что нужно проверить эти три вещи.

Я использую Windows Server 2019 и IIS.

Вот пример того, как сейчас выглядит одна из строк в файле журнала:

[28-Dec-2018 14:22:39 UTC] PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\path\media.php on line 694

Обновить: Если я запускаю сценарий PHP из командной строки, и этот сценарий генерирует ошибку, запись журнала ДЕЙСТВИТЕЛЬНО имеет метку времени в моем местном часовом поясе.

Согласно моему комментарию, похоже, что ваш веб-сервер использует формат файла журнала по умолчанию (W3C Extended), который по умолчанию использует GMT. В Страница поддержки MS Я связал содержит два решения для этого.

Временное решение - запустить следующую команду в файлах журнала:

c:\windows\system32\convlog -ie LogFileName -t ncsa:+/-GMTOffset

где LogFileName - это имя файла для преобразования, а GMTOffset - количество часов, которое необходимо исправить. (например, -0500 для EST). ПРИМЕЧАНИЕ. Это решение фактически не изменяет метки времени для записей журнала. Он вводит смещение по Гринвичу в каждую запись, чтобы любой, читающий журнал, мог видеть, что метка времени не соответствует местному времени.

Ниже приведен пример записи журнала, созданной этой утилитой:

192.168.1.1 - - [30/Jun/2000:20:16:40 -0500] "GET /default.asp HTTP/1.0" 200

Лучшее решение, казалось бы, - изменить формат файла журнала на формат файла журнала IIS. Я нашел следующее руководство, в котором шаг 4 рассказывает вам, как это сделать:

https://docs.microsoft.com/en-us/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis

Это применимо к Windows Server 2012 и Windows 8, но может быть аналогичным для вашей версии. Обратите внимание, что изменение может применяться на разных уровнях: сайт, на сайт (сервер), на сервер (сервер).