I am running osTicket on a Hostinger VPS and facing a timezone mismatch between the database value and the time shown in the UI.
What I configured
osTicket version: 1.18.x
Web server: Apache
PHP: 8.2
Database: MySQL/MariaDB (localhost)
Server timezone: Asia/Kolkata
In osTicket:
Admin → Settings → System → Default Time Zone → Asia/Kolkata
In PHP:
date.timezone = Asia/Kolkata
In database:
SELECT * FROM ost_config WHERE `key` = 'default_timezone';
Result:
Asia/Kolkata
What I see
In Admin → Dashboard → Information:
Timezone: IST (Interpreted as Asia/Jerusalem)
When a ticket is created:
Database value (
ost_ticket.created) → correctosTicket UI “Created” time → different (offset by ~2 hours)
Example
DB value:
2026-02-23 10:59:10
Shown in UI:
2/23/26 8:59 AM
What I already verified
PHP timezone is Asia/Kolkata (shown as OK in osTicket info page)
osTicket system default timezone is Asia/Kolkata
ost_config.default_timezoneis Asia/KolkataVPS system timezone is Asia/Kolkata
Browser timezone is also IST
Logout/login and cache refresh done
Expected behavior
osTicket should display:
Timezone: Asia/Kolkata
and ticket created time should match the DB value.
Actual behavior
It still resolves to:
IST → Asia/Jerusalem
and UI time is incorrect.
Question
What causes osTicket to interpret the timezone as IST → Asia/Jerusalem even when all layers (system, PHP, and database) are set to Asia/Kolkata?
Is there any additional place where osTicket reads or caches the timezone abbreviation?
Screenshot
(Combined image attached showing DB time, UI time, system settings, and osTicket information page)