Ich habe diesen Fehler erhalten, als ich angefordert habe, die PHP- Version von 5.2.17 auf PHP 5.3.21 auf dem Server zu aktualisieren .
<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>
php.ini
von Apache verwendeten zu finden , führen Sie einfach den folgenden Befehl ausphp -i | grep php.ini
.Wenn Sie Ihre php.ini-Konfiguration nicht ändern können, können Sie auch das folgende Snippet am Anfang Ihres Codes verwenden:
Die Liste der Zeitzonen finden Sie unter http://www.php.net/manual/en/timezones.php .
quelle
Fügen Sie Folgendes in Ihre
index.php
Datei ein. Ich bin zum ersten Mal darauf gestoßen, als ich meine Bewerbung von meiner verschoben habe XAMPP- Server auf Apache 2.2 und PHP 5.4 ...Ich würde Ihnen raten, dies in Ihrer
index.php
Datei anstelle derphp.ini
Datei zu tun .quelle
anstatt
hat für mich gearbeitet (zeigt das aktuelle Jahr und nicht mehr die Fehlermeldung). (Danke an Chris oben)
quelle
Wenn dies nicht Ihre Optionen sind
php.ini
.date_default_timezone
Anruf hinzufügen .Anstelle von
date
Ihnen könnte verwendengmdate
.Ich habe verwendet,
gmdate( "Y" )
als ich ein Jahr für ein Copyright-Snipplet brauchte.quelle
Wenn Sie CodeIgniter verwenden und php.ini nicht ändern können, habe ich am Anfang von index.php Folgendes hinzugefügt:
quelle
Ich behalte diese Zeile immer im Stammverzeichnis des
index.php
Codeigniters. Damit mein Code auf jedem Server funktioniertListe der unterstützten Zeitzonen hier
quelle
@ Justin zeigte mir die richtige Richtung, aber sein Code funktionierte nicht für mich. Dies tat:
Dokumentation: http://www.php.net/manual/en/function.date-default-timezone-get.php
Diese Lösung ist nicht nur für diejenigen geeignet, die keinen vollständigen Systemzugriff haben. Es ist für jedes Skript erforderlich, wenn Sie es anderen Personen als Ihnen zur Verfügung stellen. Sie wissen nie, auf welchem Server das Skript ausgeführt wird, wenn Sie es an eine andere Person verteilen.
quelle
Dieses Problem nervt mich seit einiger Zeit, da ich versuche, ein "createbucket.php" -Skript in den Composer einzufügen, und mir wird immer wieder gesagt, dass meine Zeitzone falsch ist.
Am Ende war das einzige, was das Problem behoben hat, Folgendes:
$ sudo nano /etc/php.ini
Suche nach Zeitzone
Stellen Sie sicher, dass Sie die entfernen
;
Dann endlich
Und du kannst loslegen :)
quelle
Ich musste es in doppelte Anführungszeichen setzen.
quelle
/etc/php.ini: date.timezone = America/Los_Angeles
Sie können die Zeitzone in Ihrer
.htaccess
Datei festlegenquelle
Zusätzlich zum Festlegen von date.timezone =, wie in mehreren Antworten erwähnt, wurde in der Datei php.ini ein Fehler gefunden, der verhinderte, dass die Datei date.timezone aufgerufen wurde. Ich fand es so, dass ich PHP über die Kommandozeile in einem Terminal ausführte. Dies führte dazu, dass in Zeile 114 ein Fehler gemeldet wurde. In meinem Fall hatte ich eine Einstellung zum Anzeigen von Fehlern mit '|' auskommentiert. zwischen 2 Werten. Es hat ihm nicht gefallen. Ich habe einen der Werte und den | entfernt und danach war alles gut
quelle
Eine einfache Methode für zwei Zeitzonen.
quelle
Für PHP (oder Ihren Standort).
quelle
Eine schnelle Lösung, während Sie die Inkompatibilitäten beheben, besteht darin, die Fehlerberichterstattung in Ihrer
index.php
Datei zu deaktivieren :Fügen Sie die folgende Zeile in Ihre index.php unten ein
define( ‘_JEXEC’, 1 );
quelle
Ich hoste meinen EC2- und S3-Bucket in der Region us-west-2 (Oregon). Als ich anrief,
$s3client->listBuckets()
um vorhandene Buckets in meinem PHP aufzulisten, bekam ich eine Ausnahme -"Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings...".
ich habe unten Änderungen vorgenommen, damit es funktioniert. Das Teilen dieser Details für den Fall, dass jemand mit einem ähnlichen Problem konfrontiert ist und eine der oben genannten Antworten nicht geholfen hat.ntpstat
Befehls . Wenn Sie eine Fehlermeldung erhalten, können Sie über diesen Link feststellen, was falsch läuft.date.timezone
nicht auf einen Wert festgelegt wurde und auch standardmäßig kommentiert wurde. Ich habe den Kommentar durch Entfernen von ';' vor dieser Zeile und setzen Sie ihren Wert auf"UTC"
und speichern Sie die Datei.sudo service httpd restart
undsudo service ntpd restart
-Befehlen.Danach kann ich Eimer ausnahmslos erfolgreich auflisten. Hoffe das hilft.
quelle
Wenn Sie Plesk verwenden, versuchen Sie es zuerst. Öffnen Sie PHP-Einstellungen. Ändern Sie unten auf der Seite date.timezone von DEFAULT in UTC.
quelle
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 zu durchsuchen, um zu sehen, welche Datei ihnen fehlte - nichts sprang heraus.
Falls Google Sie hierher bringt, weil Sie diesen Fehler erhalten, wenn Sie php-fpm verwenden, das für chroot konfiguriert ist, können Sie ihn wahrscheinlich beheben, indem Sie diese Zeile
/etc/php-fpm.d/www.conf
im Abschnitt ENV hinzufügen :Normalerweise ist ein Neustart von php-fpm erforderlich, damit er wirksam wird. Hoffe das hilft jemandem da draußen.
quelle
In meinem speziellen Fall habe ich PHP für die Verwendung von PHP-FPM (FastCGI Process Manager) konfiguriert. Bei der Ausführung
phpinfo()
über die CLI wurde die korrekte Zeitzone angezeigt, die ich in der php.ini festgelegt hatte. Sie war jedoch im Browser immer noch falsch und führte dazu, dass mein Code fehlschlug. Ich musste einfach denphp-fpm
Dienst auf dem Server neu starten .Möglicherweise müssen Sie den
httpd
Dienst auch neu starten , wenn Sie den bearbeitet habenphp.ini
quelle
Diese Antwort von CtrlX ist die richtige Antwort, funktioniert jedoch möglicherweise nicht vollständig. Ich habe diese Zeile zu meiner php.ini- Datei hinzugefügt :
Der PHP-Fehler wurde jedoch nicht für alle meine Dateien entfernt, da sich einige meiner PHP-Skripte in Unterordnern befinden. Also musste ich die .htaccess- Datei bearbeiten , um php.ini für die rekursive Verwendung (in Unterordnern) einzurichten:
Dabei ist account_name Ihr cpanel-Kontoname und public_html der Ordner, in dem sich Ihre php.ini-Datei befindet.
quelle
Für Docker-Benutzer: Erstellen Sie eine lokale timezone.ini-Datei in Ihrem Projekt, richten Sie die Konfiguration in docker-compose.yml ein.
timezone.ini
quelle
Wenn Sie keinen Zugriff auf die Datei haben
php.ini
, erstellen oder bearbeiten Sie eine.htaccess
Datei im Stammverzeichnis Ihrer Domain oder Ihres Sub und fügen Sie diese hinzu (generiert von cpanel):quelle
Es gibt zwei Möglichkeiten, um dies zu beheben
Wechseln Sie zunächst in die Datei php.ini und geben Sie die Standardzeitzone ein
Nachdem Sie die Zeitzone in der php.ini festgelegt haben, starten Sie den Server neu
Zweitens: Ändern Sie die Laufzeitzuweisungszeitzone entsprechend Ihren Anforderungen
quelle
Geben Sie auf Ihrer Verbindungsseite einen Code wie diesen ein,
date_default_timezone_set("Africa/Johannesburg");
der auf Ihrem aktuellen Standort basiert.quelle