"Phpinfo (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen ..." [duplizieren]
Diese Frage hat hier bereits eine Antwort:
"Date (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen ..." 22 AntwortenBeim Ausführen eines PHP-Installationsskripts für Blue.box (Front-End für FreeSwitch PBX) wird dieser Fehler wegen eines Zeitzonenfehlers angezeigt.
Dann fange ich an zu graben. Ich bin mir nicht sicher, was gerade los ist. Aber hier ist was ich habe:
Ich habe eine info.php-Datei in meinem public_html-Verzeichnis erstellt, die eine einzelne Zeile enthält:
Und ich bekomme diesen Fehler und die Ausgabe
Warnung: phpinfo (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen. Sie sinderforderlich um die Einstellung date.timezone oder die Funktion date_default_timezone_set () zu verwenden. Wenn Sie eine dieser Methoden verwendet haben und diese Warnung weiterhin angezeigt wird, haben Sie die Zeitzonen-ID höchstwahrscheinlich falsch geschrieben. Wir haben 'America / New_York' für 'EDT / -4.0 / DST' in /home/0default/public_html/info.php in Zeile 1 ausgewählt
date/time
support enabled
"Olson" Timezone Database Version 0.system
Timezone Database internal
Default timezone America/New_York
Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone America/New_York America/New_York
Ich habe eine Datei /etc/php.d/timezone.ini mit folgendem Inhalt erstellt:
[root@mercury php.d]# cat timezone.ini
; default time zone
date.timezone='America/New_York'
[root@mercury php.d]#
Ich kann die Zeitzone in America / Los_Angeles ändern (zum Beispiel), und nach dem Neustart von Apache ändert sich das Feld "date.timezone" korrekt.
Aber ich bekomme immer noch den Fehler.
Irgendwelche Ideen?
--- Zusätzliche Anmerkung ---
Wenn ich die Datei /etc/php.d/timezone.ini ändere:
[root@mercury php.d]# cat timezone.ini
; default time zone
date.timezone='America/Los_Angeles'
Ich kann die info.php-Ausgabe ändern:
Datum
Warnung: phpinfo (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen. Sie sinderforderlich um die Einstellung date.timezone oder die Funktion date_default_timezone_set () zu verwenden. Wenn Sie eine dieser Methoden verwendet haben und diese Warnung weiterhin angezeigt wird, haben Sie die Zeitzonen-ID höchstwahrscheinlich falsch geschrieben. Wir haben 'America / New_York' für 'EDT / -4.0 / DST' in /home/0default/public_html/info.php in Zeile 1 ausgewählt
date/time support enabled
"Olson" Timezone Database Version 0.system
Timezone Database internal
Default timezone America/New_York
Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone America/Los_Angeles America/Los_Angeles
--- Zusätzliche Anmerkung ---
Für diejenigen, die (wie ich) lernen, werden mehrere INI-Dateien geladen. In der info.php Ausgabe:
Configuration File (php.ini) Path /etc
Loaded Configuration File /home/0default/etc/php5/php.ini
Scan this dir for additional .ini files /etc/php.d
Additional .ini files parsed /etc/php.d/curl.ini, /etc/php.d/dom.ini, /etc/php.d/fileinfo.ini, /etc/php.d/gd.ini, /etc/php.d/imap.ini, /etc/php.d/json.ini, /etc/php.d/mbstring.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/odbc.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_odbc.ini, /etc/php.d/pdo_pgsql.ini, /etc/php.d/pdo_sqlite.ini, /etc/php.d/pgsql.ini, /etc/php.d/phar.ini, /etc/php.d/snmp.ini, /etc/php.d/sqlite3.ini, /etc/php.d/timezone.ini, /etc/php.d/wddx.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlrpc.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini, /etc/php.d/zip.ini
Die erste geladene Datei ist /etc/php.ini, dann die "geladene Konfigurationsdatei" und dann die "Scan this dir" -Dateien.
So sollte man beispielsweise in der Lage sein, eine Reihe von PHP-Websites in verschiedenen Standardzeitzonen zu erstellen. Legen Sie die Master-Standardeinstellung in /etc/php.ini fest und lassen Sie dann zu, dass jede Website eine andere Zeitzone hat, wie im Abschnitt "Laden ..." angegeben. Wenn Sie sich dann Gedanken über Überschreibungen machen, kann der Master die /etc/php.d -Dateien erneut überschreiben.
Ich habe versucht, die "date.timezone" an jedem der drei Speicherorte zu ändern und die in der info.php angezeigte date.timezone erfolgreich zu ändern. Der Wert "Default timezone" (Standard-Zeitzone) wird jedoch nicht geändert Wert, der den Fehler verursacht.
Ein weiterer Hinweis, das von mir ausgeführte .php-Skript, ist Blue.box, ein Frontend für FreeSwitch. Also ... ich zögere, das .php-Skript zu ändern.