Setting the time zone
When using FileRun with a webhosting service, sometimes the server is located in a different time zone than you and your users. You can adjust the time difference by either configuring PHP with a different timezone, or configuring just the FileRun installation to use your time zone.
For configuring PHP, please see this page for information on what to change in your php.ini
file: https://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
You can also configure just FileRun rather than PHP, by adding the following line inside the custom configuration file:
date_default_timezone_set("Asia/Tokyo");
Replace Asia/Tokyo
with your desired location. You can find here a list of available timezone codes for various locations on the planet: http://www.php.net/manual/en/timezones.php
If you want to change also the date/time formats used in the interface, these can be changed by editing the language translation files (See Translating_FileRun).
To make sure your timezone is set correctly, simply upload a file or create a new folder and look at the item's Created
hour.
Setting the database time zone
Although the filesystem operations now show the correct time, database-related information, such as file comments, or user activity logs can show a different time, if the MySQL database is configured with a different time zone.
Change the MySQL server's timezone: https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html
MySQL via Docker
You can adjust the MySQL timezone easily, by adding an environmental variable TZ
.
Example snippet when launching FileRun via Docker Compose:
db: image: mariadb:10.1 environment: TZ: 'America/Los_Angeles'
When launching the MySQL container separately:
docker run -it --rm -e TZ='America/Los_Angeles' mysql:5.7 date
Last resort
If you cannot change the MySQL server's timezone, the last solution is to have FileRun sync the timezone on connection. To do that, open the file “system/data/autoconfig.php” in a text editor and add the following line at its end:
$config['db']['sync_timezone'] = true;
Important: Do not make other changes inside that file.