"date(): nie jest bezpiecznie polegać na Ustawieniach strefy czasowej systemu…"
Dostałem ten błąd, gdy poprosiłem o aktualizację PHP z wersji 5.2.17 do PHP 5.3.21 na serwerze.
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 86</p>
</div>
Warning: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 86
Warning: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 99
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: date(): 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 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 99</p>
</div>
24 answers
Prawdopodobnie musisz umieścić strefę czasową w linii konfiguracji w pliku php.ini
. Powinieneś mieć taki blok w swoim php.plik ini:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
Jeśli nie, dodaj go (zamieniając strefę czasową na Twoją). Po skonfigurowaniu upewnij się, że ponownie uruchomiłeś httpd (service httpd restart
).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-09 16:55:51
Jeśli nie możesz zmodyfikować swojego php.konfiguracja ini, równie dobrze możesz użyć poniższego fragmentu na początku kodu:
date_default_timezone_set('Africa/Lagos');//or change to whatever timezone you want
Listę stref czasowych można znaleźć na stronie http://www.php.net/manual/en/timezones.php .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-04 22:54:15
Dodaj następujący plik index.php
. Po raz pierwszy natknąłem się na to, gdy przeniosłem moją aplikację z mojego serwera XAMPP do Apache 2.2 i PHP 5.4...
Radzę zrobić to w pliku index.php
zamiast pliku php.ini
.
if( ! ini_get('date.timezone') )
{
date_default_timezone_set('GMT');
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-09 16:59:14
<? print(gmdate("Y")); ?>
Zamiast
<? print(date("Y")); ?>
Działa dla mnie (pokazuje bieżący rok i nie więcej pokazuje komunikat o błędzie). (Thanks to Chris above)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-02 21:09:22
Jeśli to nie są Twoje opcje
- modyfikowanie
php.ini
. - dodanie
date_default_timezone
wywołanie.
Zamiast date
możesz użyć gmdate
.
Użyłem gmdate( "Y" )
kiedy potrzebowałem roku na fragment praw autorskich.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-10 04:04:55
Jeśli używasz CodeIgniter i nie możesz zmienić php.ini, dodałem następujący tekst na początku indeksu.php:
date_default_timezone_set('GMT');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-04 05:11:02
Zawsze trzymam tę linię wewnątrz korzenia codeignitera index.php
. tak aby mój kod działał na dowolnym serwerze
date_default_timezone_set('Asia/Dhaka');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-16 00:26:39
@Justis wskazał mi właściwy kierunek, ale jego kod nie działał na mnie. This did:
// set the default timezone if not set at php.ini
if (!date_default_timezone_get('date.timezone')) {
// insert here the default timezone
date_default_timezone_set('America/New_York');
}
Dokumentacja: http://www.php.net/manual/en/function.date-default-timezone-get.php
To rozwiązanie nie tylko dla tych, którzy nie mają pełnego dostępu do systemu. Jest to konieczne dla każdego skryptu, gdy dostarczasz go komukolwiek innemu, ale nie tobie. Nigdy nie wiadomo, na jakim serwerze skrypt zostanie uruchomiony, gdy przekażesz go komuś innemu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-16 13:25:49
Ten problem męczy mnie od jakiegoś czasu, gdy próbuję wstrzyknąć "createbucket.PHP " skrypt do composera i ciągle mówi mi, że moja Strefa czasowa jest nieprawidłowa.
W końcu jedyną rzeczą, która naprawiła problem było:
$ sudo nano /etc/php.ini
Szukaj strefy czasowej
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = UTC
Upewnij się, że usuniesz ;
Then finally
$ sudo service httpd restart
I będzie dobrze:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-30 15:29:15
Musiałem umieścić to w podwójnych cudzysłowach.
date_default_timezone_set("America/Los_Angeles"); // default time zone
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-04 05:11:32
Możesz ustawić strefę czasową w pliku .htaccess
php_value date.timezone UTC
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-18 22:58:11
Oprócz ustawienia daty.timezone = jak wspomniano w kilku odpowiedziach, Znalazłem błąd w php.plik ini, który uniemożliwiał dotarcie do daty.Strefa czasowa. Sposób znalazłem to było uruchamianie php z linii poleceń w terminalu. spowodowało to zgłoszenie błędu na linii 114. W moim przypadku miałem niezastosowane ustawienie do wyświetlania błędów, które miały " | " między wartościami 2. Nie podobało mu się to. Usunąłem jedną z wartości i / i wszystko było dobrze po tym
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-04 02:44:51
Prosta metoda dla dwóch stref czasowych.
<?php
$date = new DateTime("2012-07-05 16:43:21", new DateTimeZone('Europe/Paris'));
date_default_timezone_set('America/New_York');
echo date("Y-m-d h:iA", $date->format('U'));
// 2012-07-05 10:43AM
?>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-18 04:07:22
<? date_default_timezone_set('Europe/Istanbul'); ?>
Dla php (lub Twojej lokalizacji).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-19 00:09:26
Szybkim rozwiązaniem jest wyłączenie zgłaszania błędów w pliku index.php
:
Wstaw poniższy wiersz do indeksu .php poniżej define( ‘_JEXEC’, 1 );
error_reporting( E_ERROR | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR |
E_COMPILE_WARNING );
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-05 13:42:16
[7]}hostuję moje wiadro EC2 i S3 w regionie US-west-2 (Oregon). Kiedy wywoływałem $s3client->listBuckets()
, aby wyświetlić listę istniejących bucketów w moim php, otrzymywałem wyjątek - "Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings...".
Zrobiłem poniżej zmiany, aby to działało. Dzielenie się tymi szczegółami na wypadek, gdyby ktoś napotkał podobny problem i żadna z powyższych odpowiedzi nie pomogła.
- na podstawie dokumentacji @ AWS Konfigurowanie Network Time Protocol (NTP) , potwierdziłem, że status usługi ntpd jest w porządku, uruchamiając komendę
ntpstat
. Jeśli pojawi się błąd, to link pomaga Ci wiedzieć, co jest nie tak. - otworzył /etc / php.plik ini (niektóre mogą mieć go w innej ścieżce w zależności od wersji zainstalowanego php) i okazało się, że
date.timezone
nie został ustawiony na żadną wartość, a także był domyślnie komentowany. Usunąłem komentarz usuwając '; ' przed tą linią i ustawiłem jego wartość na"UTC"
i zapisałem plik. - uruchomione ponownie demony http i ntp przy użyciu komend
sudo service httpd restart
isudo service ntpd restart
.
Po tym jestem w stanie z powodzeniem wymieniać wiadra bez żadnego wyjątku. Mam nadzieję, że to pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-26 07:49:22
Jeśli używasz Plesk, spróbuj, najpierw otwórz ustawienia PHP, na dole strony Zmień datę.Strefa czasowa od domyślnej do UTC.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-18 18:58:38
Miałem ten błąd uruchamiając php-fpm w więzieniu chroot. Próbowałem stworzyć etc / php.ini I / usr / share / zoneinfo w katalogu chroot, ale to po prostu nie działa. Próbowałem nawet uruchomić demony php-fpm, żeby zobaczyć, jakiego pliku brakuje-nic nie wyskoczyło.
Więc jeśli Google cię tu sprowadzi, ponieważ dostajesz ten błąd podczas używania PHP-fpm skonfigurowanego dla chroot, prawdopodobnie możesz go naprawić, dodając tę linię do /etc/php-fpm.d/www.conf
w sekcji ENV:
env[TZ] = America/New_York
Restart php-fpm jest normalnie wymagane, aby stało się skuteczne. Mam nadzieję, że to komuś pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-12 02:01:35
W moim konkretnym przypadku mam skonfigurowany PHP do używania PHP-FPM (FastCGI Process Manager). Podczas wykonywania phpinfo()
z CLI zobaczyłem poprawną strefę czasową, którą ustawiłem w php.ini, jednak nadal był nieprawidłowy w przeglądarce i powodował awarię mojego kodu. Po prostu musiałem ponownie uruchomić php-fpm
usługę na serwerze.
service rh-php56-php-fpm restart
Może być również konieczne ponowne uruchomienie usługi httpd
, Jeśli edytowałeś php.ini
service httpd restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-26 02:37:10
Ta odpowiedź powyżej z CtrlX jest poprawną odpowiedzią, ale może nie działać całkowicie. Dodałem ten wiersz do mojego php.ini plik:
date.timezone = "America/Los_Angeles"
Ale nie usunął błędu PHP dla wszystkich moich plików, ponieważ niektóre z moich skryptów PHP znajdują się w podfolderach. Więc musiałem edytować .htaccess plik do konfiguracji php.ini używane rekurencyjnie (w podfolderach):
suphp_configpath /home/account_name/public_html
Gdzie account_name to nazwa Twojego konta cpanel, a public_html to folder twojego php.plik ini jest do środka.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-03 21:56:58
Dla użytkownika docker: Utwórz lokalną strefę czasową.plik ini w Twoim projekcie, ustaw config w docker-compose.yml,
volumes:
- "./docker/config/timezone.ini:/usr/local/etc/php/conf.d/timezone.ini"
Strefa czasowa.ini
date.timezone=Australia/Sydney
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-25 00:04:06
Jeśli nie masz dostępu do pliku php.ini
, Utwórz lub edytuj plik .htaccess
w katalogu głównym Twojej domeny lub sub i dodaj go (wygenerowany przez cpanel):
<IfModule mime_module>
AddType application/x-httpd-ea-php56 .php .php5 .phtml
</IfModule>
<IfModule php5_module>
php_value date.timezone "America/New_York"
</IfModule>
<IfModule lsapi_module>
php_value date.timezone "America/New_York"
</IfModule>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-25 02:04:36
Istnieją dwie opcje rozwiązania tego
Najpierw zmień na php.plik ini i ustaw domyślną strefę czasową
date.timezone = "America/New_York"
Raz Ustawiłeś strefę czasową w php.ini restart serwera
Po Drugie, Zmień czas wykonywania przypisywanie strefy czasowej w zależności od potrzeb
date_default_timezone_set('America/New_York');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-05 07:44:06
Na stronie połączenia umieść kod w ten sposób date_default_timezone_set("Africa/Johannesburg");
Na podstawie bieżącej lokalizacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-10 01:41:39