Reputation: 5540
I'm trying to change the default PHP timezone to Asia/Calcutta
by accessing the /etc/php5/cli/php.ini
file and changing
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
to
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Calcutta"
However, when I try to view current timezone under phpinfo()
, the timezone follows the Europe/Berlin
timezone.
I have tried stopping and restarting the Apache server, but that didn't seem to have changed the settings.
Is there something I'm missing in the process?
PS: I'm using PHP 5.6.8 currently under XAMPP.
Upvotes: 44
Views: 257534
Reputation: 1
This error is very common. Many people think it is along these lines:
Do the following. Search this line date.timezone: Europe/Berlin
and change to your zone. Typically you will find it like this:
[Session]
define_syslog_variables=Off
[Date]
date.timezone=Europe/Berlin
[MySQL]
mysql.allow_local_infile=On
mysql.allow_persistent=On
Upvotes: 0
Reputation: 934
You are changing the wrong file. The file /etc/php5/cli/php.ini
is used by cli - command line interface. Don't forget to restart your web-server after you update the right one: sudo service apache2 restart
or sudo service php5-fpm restart
File locations for different OS:
OS -> Location
windows(With Xampp Installation) -> /xampp/php/php.in
Mac OSX -> /private/etc/php.ini
Linux -> /etc/php.ini
-> /usr/bin/php5/bin/php.ini
-> /etc/php/php.ini
-> /etc/php5/apache2/php.ini
Upvotes: 11
Reputation: 131
Nothing had worked for me, I'm using FPM.
Found a file called www.conf
inside /etc/php/8.2/fpm/pool.d
, edited php_admin_value[date.timezone]
value, restarted FPM with sudo service php8.2-fpm
and it worked.
I'm using Vultr, hope this answer will help someone in the future.
Upvotes: 1
Reputation: 2032
in my case, Centos 8, DirectAdmin, Openlitespeed, php 7 (lsphp server must run with Openlitespeed)
Go to DirectAdmin (with admin/root password) -> CustomBuild - > SETTINGS - > Options -> PHP Settings -> php_timezone -> input your time zone and save Time zoze is list here: https://www.php.net/manual/en/timezones.php
return CustomBuild -Build -> select PHP, and click build!
Waite 10 minute for amazing...
Upvotes: 0
Reputation: 21
For me, running systemctl restart php-fpm
after editing the /etc/php-ini file solved the problem.
Upvotes: 2
Reputation: 21
phpinfo()
was returning Loaded Configuration File => /etc/php/5.6/cli/php.ini
.date.timezone
changes were not taking effect after updating the above and restarting php-fpm
(sudo systemctl reload php5.6-fpm.service
).phpinfo()
also has an Additional .ini files parsed
section, which contained /etc/php/5.6/cli/conf.d/timezone.ini
.timezone.ini
file (date.timezone = "America/New_York"
) and restarting php-fpm
(as above), phpinfo()
correctly returned date.timezone => America/New_York => America/New_York
.Upvotes: 2
Reputation: 1274
If you are using Laravel, you should change the Laravel timezone configuration.
My case Laravel 6. Edit /config/app.php file and change this line
'timezone' => 'UTC',
to
'timezone' => env('APP_TIMEZONE', 'UTC'),
then edit .env file. add your timezone (timezone list)
APP_TIMEZONE='America/New_York'
clear configurations
php artisan config:clear
Upvotes: 1
Reputation: 67
Check configuration in your system.
In my case, it was "Ubuntu"
sudo cat /etc/timezone Asia/Kolkata
Upvotes: 0
Reputation: 31
I had the same problem and discovered that there are two date.timezone statements in php.ini in my version of XAMPP out of the box. The first statement one is commented out, but the second one is set to Europe/Berlin. So you if you edit your php.ini and search for timezone and logically uncomment the first statement with your time zone, the second statement overrides that back to Europe/Berlin.
Upvotes: 3
Reputation: 5540
I tried all the other possible solutions posted, but none of them helped. This is what helped me save my timezone settings:
1) Go to your phpinfo()
page and search for Loaded Configuration File
and open the php.ini
file mentioned under that section.
2) Change the default timezone settings by adding your new timezone by modifying this line: date.timezone=Asia/Kolkata
.
3) Save the php.ini
file and stop the Apache server.
4) Restart the Apache server. The timezone settings should now be modified.
Upvotes: 62
Reputation: 213
Upvotes: 0
Reputation: 10058
You can change it in the code without touching the ini file, at the beginning of your code add:
date_default_timezone_set('Asia/Calcutta')
Upvotes: 15