Я думал, что Linux совместим с POSIX -, однако некоторые команды POSIX не найдены

Основываясь на вашем комментарии относительно текущего времени 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
15.09.2021, 23:01
1 ответ

Я сделал много кроссплатформенных инструментов, есть две вещи, которыми вы хотели бы заняться:

  1. Базовая логика/язык должны быть совместимы с posix, работать нормально, избегать башизмов, zsh'измов и т. д. Именно здесь важно соответствие POSIX, а этого легко добиться. Это становится особенно важным в коде подоболочки.
  2. Используйте эту базовую логику POSIX sh в качестве оболочки для проверки, обнаружения и использования инструментов, необходимых для выполнения действий. Идите от наиболее вероятного присутствия к наименее вероятному. Я не думаю, что когда-либо тратил время или усилия на теоретическое кодирование «это должно быть там, потому что POSIX так сказал», я всегда просто тестирую и использую то, что есть. Конечно, это добавляет несколько строк кода, но если ваша цель — всегда работать над всем, то вы делаете именно так.

Что касается инструмента «сжатие», я могу честно сказать, что никогда даже не слышал о нем до этой ветки, неудивительно, судя по приведенным выше комментариям, зачем мне это, если он не так хорош, как современные инструменты, которые всегда устанавливаются или что можно легко установить?

Если вы начнете заниматься чем-то сложным, шансы на то, что ваша логика будет работать где угодно и когда угодно, быстро уменьшатся, если только вы не сможете сделать ее невероятно простой на базовом уровне. Straight sh, да, это всегда будет работать, но как только вы добавите инструменты, не так уж и много. Например, вы даже не можете рассчитывать на «awk» в системе, являющейся базовым awk, это может быть nawk или gawk, который был связан с awk.

Без тестирования инструментов вам будет грустно, и вам не удастся создать что-то действительно кросс-платформенное/кросс-ОС/кросс-дистрибутив.

С учетом сказанного, вы все равно будете находить системы, которые не работают, тогда вам придется обновить инструмент, чтобы заставить эту ситуацию работать, добавив больше тестов и резервных вариантов, вот как это происходит. Я только что добавил еще несколько для новых ситуаций, которых я никогда раньше не видел.

Это несложно,если только вы не пытаетесь поддерживать этот стандарт, которому, например, GNU/Linux почти не следует на многих уровнях (systemd? нет?, хорошо, тогда давайте двигаться дальше )должен делать то, во что вы хотите верить, он должен делать, когда это не так, это просто приведет к потере времени и бессмысленному разочарованию.

Обратите внимание, что если вы пытаетесь использовать нетривиальные инструменты, это становится НАМНОГО сложнее, потому что вы вообще не можете рассчитывать на какую-либо ОС в этот момент, вы должны тестировать и обрабатывать каждый вариант, каждая BSD, например, гордится тем, что они используйте не дистрибутив пакетов, а ОС, которая включает в себя свои собственные основные инструменты, что означает, что вы никогда не можете полагаться на то, что выходные данные или действия будут идентичны на разных платформах, даже если инструменты имеют одно и то же имя в каждом варианте/ОС. ps например, значительно отличается в OpenBSD, FreeBSD, Linux и даже в busybox, который вы можете найти, например, в прошивке wrt.

4
15.09.2021, 23:36

Теги

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