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 ; ;date.timezone = to
[Date] ; Defines the default timezone used by the date functions ; 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.
48 Answers
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.
3You can change it in the code without touching the ini file, at the beginning of your code add:
date_default_timezone_set('Asia/Calcutta') 4You 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 4I 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.
1phpinfo()was returningLoaded Configuration File => /etc/php/5.6/cli/php.ini.- My
date.timezonechanges were not taking effect after updating the above and restartingphp-fpm(sudo systemctl reload php5.6-fpm.service). phpinfo()also has anAdditional .ini files parsedsection, which contained/etc/php/5.6/cli/conf.d/timezone.ini.- After updating the
timezone.inifile (date.timezone = "America/New_York") and restartingphp-fpm(as above),phpinfo()correctly returneddate.timezone => America/New_York => America/New_York.
- If you 're serious about web developping get a VM going(Virtual Box + Vagrant).
- With XAMPP be careful. Sometimes there's more than 1 php.ini file and you might be editing the wrong one. To edit the real one, access it from the XAMPP control panel.
- You can use the a function in your code: date_default_timezone_set();
Check configuration in your system.
In my case, it was "Ubuntu"
sudo cat /etc/timezone Asia/Kolkata 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