PHP Warning: strftime(): It is not safe to rely on the system's timezone settings...

  • Data: 2014

Po aktualizacji PHP do wersji 5.3 możemy oczekiwać następującego ostrzeżenienia:

 PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the
date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We
selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.

Naprawa błędu polega na skonfigurowaniu odpowiedniej strefy czasowej. Można zrealizować to na kilka sposbów w zależności od sposobu dostępu do konfiguracji PHP.

  • Jeśli mammy dostęp do pliku php.ini możemy skonfigurować globalnie strefę czasową dodając opcję: date.timezone = "Europe/Warsaw".
  • W przypadku braku dostępu do konfiguracji serwera PHP, możemy ustawić strefę w pliku .htaccess poprzez dodanie wpisu: php_value date.timezone "Europe/Warsaw"
  • Korzystając z PHP-FPM osobno do każdej konfiguracji pool można zdefiniować strefy: php_admin_value[date.timezone] = 'Europe/Paris'
  • Nie posiadając ww. uprawnień nie stoimy na straconej pozycji. Do pliku php, który generuje nam ostrzeżenie dodajemy na początku: date_default_timezone_set('Europe/Warsaw');

I to w zasadzie wszystko, oczywiście Europe/Warsaw jest tylko przykadową strefą. Listę stref czasowych znajdziemy pod tym adresem: http://php.net/manual/pl/timezones.php.

Powrót »