388 Stimmen

"date(): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen..."

Ich habe diesen Fehler erhalten, als ich darum gebeten habe, die PHP-Version von 5.2.17 auf PHP 5.3.21 auf dem Server zu aktualisieren.

Ein PHP-Fehler ist aufgetreten

Schweregrad: Warnung
Nachricht:  date(): Es ist nicht sicher, sich auf die System-Zeitzone zu verlassen. Sie *müssen* die Einstellung date.timezone verwenden oder die Funktion date_default_timezone_set() verwenden. Falls Sie eine dieser Methoden verwendet haben und trotzdem diese Warnung erhalten, haben Sie wahrscheinlich den Zeitzonen-Identifier falsch geschrieben. Wir haben 'America/New_York' für 'EDT/-4.0/DST' ausgewählt
Dateiname: libraries/Log.php
Zeilennummer: 86

Warnung: date(): Es ist nicht sicher, sich auf die System-Zeitzone zu verlassen. Sie *müssen* die Einstellung date.timezone verwenden oder die Funktion date_default_timezone_set() verwenden. Falls Sie eine dieser Methoden verwendet haben und trotzdem diese Warnung erhalten, haben Sie wahrscheinlich den Zeitzonen-Identifier falsch geschrieben. Wir haben 'America/New_York' für 'EDT/-4.0/DST' ausgewählt in /filelocation right here/system/libraries/Log.php Zeile 86

Warnung: date(): Es ist nicht sicher, sich auf die System-Zeitzone zu verlassen. Sie *müssen* die Einstellung date.timezone verwenden oder die Funktion date_default_timezone_set() verwenden. Falls Sie eine dieser Methoden verwendet haben und trotzdem diese Warnung erhalten, haben Sie wahrscheinlich den Zeitzonen-Identifier falsch geschrieben. Wir haben 'America/New_York' für 'EDT/-4.0/DST' ausgewählt in /filelocation right here/system/libraries/Log.php Zeile 99

Ein PHP-Fehler ist aufgetreten

Schweregrad: Warnung
Nachricht:  date(): Es ist nicht sicher, sich auf die System-Zeitzone zu verlassen. Sie *müssen* die Einstellung date.timezone verwenden oder die Funktion date_default_timezone_set() verwenden. Falls Sie eine dieser Methoden verwendet haben und trotzdem diese Warnung erhalten, haben Sie wahrscheinlich den Zeitzonen-Identifier falsch geschrieben. Wir haben 'America/New_York' für 'EDT/-4.0/DST' ausgewählt
Dateiname: libraries/Log.php
Zeilennummer: 99

0voto

Elise Oertli Punkte 1

Eine schnelle Lösung, während Sie die Unverträglichkeiten beheben, besteht darin, die Fehlerberichterstattung in Ihrer index.php-Datei zu deaktivieren:

Fügen Sie die folgende Zeile in Ihre index.php ein, unterhalb von define( ‘_JEXEC’, 1 );

error_reporting( E_ERROR | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR |
E_COMPILE_WARNING );

0voto

Maruti C Punkte 11

Ich hoste meinen EC2 und S3-Bucket in der Region us-west-2 (Oregon). Als ich $s3client->listBuckets() aufgerufen habe, um vorhandene Buckets in meinem PHP aufzulisten, habe ich eine Ausnahme erhalten - "Ungefangene Ausnahme 'Exception' mit der Meldung 'DateTime::__construct(): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen...". Ich habe unten stehende Änderungen vorgenommen, um es zum Laufen zu bringen. Diese Details teile ich, falls jemand ein ähnliches Problem hat und keine der obigen Antworten geholfen hat.

  1. Basierend auf der Dokumentation @ AWS Konfigurieren des Network Time Protocol (NTP) habe ich den Status des ntpd-Dienstes bestätigt, indem ich den Befehl ntpstat ausgeführt habe. Wenn du einen Fehler bekommst, hilft dir dieser Link zu verstehen, was schief läuft.
  2. Ich habe die Datei /etc/php.ini geöffnet (manche haben sie an einem anderen Ort, je nach installierter PHP-Version) und festgestellt, dass date.timezone nicht auf einen Wert gesetzt war und standardmäßig auskommentiert war. Ich habe das Auskommentieren entfernt, indem ich das ';' vor dieser Zeile entfernt habe, und den Wert auf "UTC" gesetzt und die Datei gespeichert.
  3. Ich habe die http- und ntp-Daemons mit den Befehlen sudo service httpd restart und sudo service ntpd restart neu gestartet.

Nach diesen Änderungen konnte ich die Buckets erfolgreich auflisten, ohne Ausnahmen zu erhalten. Hoffentlich hilft das.

0voto

Latief Anwar Punkte 1583

Wenn Sie Plesk verwenden, versuchen Sie es zuerst. Öffnen Sie PHP-Einstellungen, am unteren Rand der Seite ändern Sie date.timezone von DEFAULT auf UTC.

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

0voto

Don Law Punkte 1271

Ich hatte diesen Fehler beim Ausführen von php-fpm in einem Chroot-Gefängnis. Ich habe versucht, etc/php.ini und /usr/share/zoneinfo im Chroot-Verzeichnis zu erstellen, aber es hat einfach nicht funktioniert. Ich habe sogar versucht, die php-fpm-Dämonen mit strace zu verfolgen, um zu sehen, welche Datei ihnen fehlt - nichts ist aufgefallen.

Also falls Google Sie hierher bringt, weil Sie diesen Fehler erhalten, wenn Sie php-fpm für Chroot konfiguriert haben, können Sie ihn wahrscheinlich beheben, indem Sie diese Zeile zu /etc/php-fpm.d/www.conf im ENV-Abschnitt hinzufügen:

env[TZ] = America/New_York

Normalerweise ist ein Neustart von php-fpm erforderlich, damit die Änderung wirksam wird. Ich hoffe, das hilft jemandem da draußen.

0voto

EternalHour Punkte 7780

In meinem speziellen Fall habe ich PHP konfiguriert, um PHP-FPM (FastCGI Process Manager) zu verwenden. Beim Ausführen von phpinfo() von der CLI sah ich die richtige Zeitzone, die ich in der php.ini eingestellt hatte, jedoch war sie immer noch falsch im Browser und verursachte einen Fehler in meinem Code. Ich musste einfach den php-fpm Service auf dem Server neu starten.

service rh-php56-php-fpm restart

Sie müssen möglicherweise auch den httpd Service neu starten, wenn Sie die php.ini bearbeitet haben.

service httpd restart

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X