xdebug - неправильное время удаленного журнала

Как предложил icarus в комментариях, один простой способ — создать псевдоним, которыйcd ~/Desktop

Однако, если вы действительно хотите, чтобы cdвел себя таким образом,вы можете использовать псевдоним для функции cd, которая проверяет, является ли каталогDesktop:

_cd () {
  if [ "$1" == "Desktop" ]; then
    cd ~/Desktop
  else
    cd $1
  fi
}
alias cd="_cd"

Однако это также приводит к нарушению завершения табуляции для cd

-1
07.08.2019, 16:26
2 ответа

Основываясь на вашем комментарии относительно текущего времени Thu Aug 1 15:13:26 CEST 2019, моя теория состоит в том, что журнал xdebug выполняется (или регистрируется )в UTC, что на два часа раньше, чем CEST. К сожалению, часовой пояс не является частью вывода; это оставляет фактическое время неоднозначным для любой перекрестной -ссылки, как вы видели.

Я нашел сообщение Stack Overflow , в котором упоминается установка значения date.timezoneна желаемый часовой пояс. Там же написано:

It is always better to load xdebug extension at the end of file(php.ini).

Список директив php.ini указывает, что значение по умолчанию для date.timezoneпусто, что предположительно соответствует UTC.

Мое предложение, поскольку CESTне является допустимым значением, будет состоять в том, чтобы выбрать свой регион из этого списка действительных часовых поясов PHP для Европы(или Антарктиды или Африки, в зависимости от ситуации ). Для получения дополнительной информации см. полный список часовых поясов, поддерживаемых PHP .

1
28.01.2020, 05:09

Я не мог заставить это работать, даже с моим date.timezone, установленным в php.iniи xdebug.ini, загруженным впоследствии.

Мой журнал Xdebug (больше не назывался «удаленным журналом» в Xdebug 3 ), по-прежнему отображалось UTCвремя. Я не мог найти никакого способа изменить это, кроме как отредактировав исходный код Xdebug и перекомпилировав его. Я не вижу в исходном коде Xdebug ничего, что переводило бы время в местное, так что, возможно, это единственный способ.

См. мой ответ stackoverflow на мой собственный вопрос для получения более подробной информации. Но вот суть.

Все, что мне нужно было сделать, это изменить gmtime()на localtime()в src/lib/timing.cфункции char* xdebug_nanotime_to_charsвокруг строки 196.

И это работает, но я хотел, чтобы код часового пояса печатался в журнале.

Для этого мне пришлось внести еще несколько изменений. Я сделал функцию для возврата строки часового пояса, а затем добавил эту функцию в журнал функций открытия/закрытия в том же файле (src/lib/log.c).

1
03.01.2021, 20:56

Теги

Похожие вопросы