Как получить PHP дату и время, чтобы использовать сервер?

Мои PHP-скрипты в настоящее время истекают из-за работы BST (GMT+1).

Есть ли способ установить date.timezone в php.ini, чтобы сохранить правильное время для BST/DST, без необходимости вручную изменять его при возврате часов?

Альтернативно, если бы PHP использовал время сервера, что правильно, это сработало бы. Есть ли способ сказать это, чтобы сделать это?

1 ответ

Решение

Если предположить, что PHP достаточно недавний, если вы правильно определите date.timezone с помощью date_default_timezone_set(), PHP будет обрабатывать смещения GMT самостоятельно. Предполагая, с другой стороны, что вы застряли на старом PHP, вам придется сделать одну из трех вещей:

  • укусить пулю и обновить PHP
  • прикусить пулю и реализовать свою механику TZ самостоятельно (не рекомендуется, но посмотрите здесь несколько примеров различных оттенков Godawful), или
  • начать делать еретические вещи, такие как system('date') в вашем коде.

Из них однозначно выигрышное решение - обновление PHP. Сколько лет вашей версии, правда?

Другие вопросы по тегам