Setting the timezone WHMCS uses
The time under which your WHMCS installation will run is based upon the server clock and the timezone setting in your PHP configuration. Therefore to change the time displayed in WHMCS there are two options:
- Change the server clock directly
- Edit the PHP configuration specifying a different timezone.
Changing the server clock may not be desirable if clients are hosted on the server and would require root access, so option 2 is the most viable for the majority of users. A number of hosting providers allow the PHP configuration to be changed on an individual directory by creating a php.ini file within the WHMCS directory. In that situation the following line could be added:
For a full list of the available timezone localities you can use, please refer to http://www.php.net/manual/en/timezones.php
Please contact your hosting provider/server admin if you are unsure how to customise the PHP configuration of your server.
Timezone the cron operates under
In most cases, the PHP configuration for your WHMCS installation is different than that used for the command line. It is therefore important to ensure the timezone set in the PHP configuration WHMCS uses is the same as the one set in the PHP configuration the command line uses, and by extension the PHP configuration the cron is using.
If this is different, you will find that your cron is executing at an unexpected or different time to that which you expect it to and is set at 'Setup -> Automation Settings'. To check this, run the following command at the server command line whilst logged in as the same user under which the cron job is running:
php -ini | grep "date.timezone"
You can compare the output of this command to the 'date.timezone' set in the PHP configuration your WHMCS installation is using by navigating to 'Utilities -> System -> PHP Info'. If they are different, you will need to work with your hosting provider or server administrator to set the same 'date.timezone' in the PHP configuration your WHMCS installation is using and the one used for the command line on the server.