Как получить 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. Сколько лет вашей версии, правда?