datetime — Могу ли я сбросить настройки часового пояса PHP в Phing?

У меня есть сервер, на котором я не могу изменить настройки TZ, и Phing build.xml содержащий Tstamp задача, которая вызывает предупреждение о часовом поясе PHP:

[PHP Error] strftime (): небезопасно полагаться на настройки часового пояса системы. Вы требуется использовать настройку date.timezone или функцию date_default_timezone_set (). Если вы использовали какой-либо из этих методов и по-прежнему получаете это предупреждение, вы, скорее всего, неправильно написали идентификатор часового пояса. На данный момент мы выбрали часовой пояс UTC, но, пожалуйста, установите date.timezone, чтобы выбрать свой часовой пояс. [строка 159 из phar: ///…/classes/phing/tasks/system/TstampTask.php]

Я хотел бы подавить эту ошибку, но так как мне не разрешено менять php.ini Я хотел бы сделать это по-другому. Тривиальный подход заключается в предоставлении новых настроек для php при запуске Phing:

php -d date.timezone=Europe/London phing.phar dbsetup

Тем не менее, я хотел бы сделать это без указания настройки ini. Сначала я думал, что смогу просто запустить скрипт PHP как другой <target>, но это, по-видимому, просто установит настройки для этого скрипта в частном порядке и не повлияет на настройки ядра Phing.

Другой подход заключается в расширении Tstamp Задайте и измените класс для этого в конфигурации Phing, но в настоящее время я использую сборку Phar по умолчанию, так что это тоже идеально!

Я искал кодовую базу Phing на Git для date_default_timezone_set(), но, похоже, он не учитывает часовой пояс.

Возможно, есть задача Phing, которая просто вызывает ini_set() с указанными параметрами? Или есть лучший способ добиться того, что я хочу сделать, если не запрашивать изменения в ядре Phing?

2

Решение

Что-нибудь отсюда https://www.phing.info/docs/guide/trunk/PhpEvalTask.html ? подобно

<php expression="date_default_timezone_set('Europe/London');" />
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]